/******/ (function(modules) { // webpackBootstrap /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // 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; /******/ } /******/ /******/ /******/ // 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 = "/build"; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = "./src/sdk/index.js"); /******/ }) /************************************************************************/ /******/ ({ /***/ "./node_modules/@playbuzz/client-logger/dist/bundle.development.js": /*!*************************************************************************!*\ !*** ./node_modules/@playbuzz/client-logger/dist/bundle.development.js ***! \*************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory(__webpack_require__(/*! @playbuzz/client-timer */ \"./node_modules/@playbuzz/client-timer/index.js\"));\n\telse { var i, a; }\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE__playbuzz_client_timer__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n !*** ./src/index.js ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n value: true\\n});\\nObject.defineProperty(exports, \\\"Logger\\\", {\\n enumerable: true,\\n get: function () {\\n return _logger.Logger;\\n }\\n});\\n\\nvar _logger = __webpack_require__(/*! ./logger */ \\\"./src/logger.js\\\");//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvaW5kZXguanM/YjYzNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSIsImZpbGUiOiIuL3NyYy9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IExvZ2dlciB9IGZyb20gJy4vbG9nZ2VyJztcbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./src/index.js\\n\");\n\n/***/ }),\n\n/***/ \"./src/logger.js\":\n/*!***********************!*\\\n !*** ./src/logger.js ***!\n \\***********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n value: true\\n});\\nexports.Logger = void 0;\\n\\nvar _clientTimer = __webpack_require__(/*! @playbuzz/client-timer */ \\\"@playbuzz/client-timer\\\");\\n\\n/* eslint no-console: \\\"off\\\" */\\nclass Logger {\\n constructor({\\n prefix = '',\\n isDebug = false\\n } = {}) {\\n this._prefix = prefix;\\n this.isDebug = isDebug;\\n }\\n\\n debug(...args) {\\n if (!this.isDebug) {\\n return;\\n }\\n\\n this._log('log', ...args);\\n }\\n\\n info(...args) {\\n this._log('info', ...args);\\n }\\n\\n warn(...args) {\\n this._log('warn', ...args);\\n }\\n\\n error(...args) {\\n this._log('error', ...args);\\n }\\n\\n _log(method, ...args) {\\n if (typeof window === 'undefined') {\\n // do not log in server environment\\n return;\\n }\\n\\n console[method](...this._format(...args));\\n }\\n\\n _format(...args) {\\n const _args = [].slice.call(args);\\n\\n _args.unshift(`[${_clientTimer.Timer.deltaFromDomLoadedInSeconds()}s] [${this._prefix}]:`);\\n\\n return _args;\\n }\\n\\n}\\n\\nexports.Logger = Logger;//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvbG9nZ2VyLmpzPzk3YjUiXSwibmFtZXMiOlsiTG9nZ2VyIiwiY29uc3RydWN0b3IiLCJwcmVmaXgiLCJpc0RlYnVnIiwiX3ByZWZpeCIsImRlYnVnIiwiYXJncyIsIl9sb2ciLCJpbmZvIiwid2FybiIsImVycm9yIiwibWV0aG9kIiwid2luZG93IiwiY29uc29sZSIsIl9mb3JtYXQiLCJfYXJncyIsInNsaWNlIiwiY2FsbCIsInVuc2hpZnQiLCJUaW1lciIsImRlbHRhRnJvbURvbUxvYWRlZEluU2Vjb25kcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUVBO0FBQ08sTUFBTUEsTUFBTixDQUFhO0FBQ2hCQyxhQUFXLENBQUM7QUFBRUMsVUFBTSxHQUFHLEVBQVg7QUFBZUMsV0FBTyxHQUFHO0FBQXpCLE1BQW1DLEVBQXBDLEVBQXdDO0FBQy9DLFNBQUtDLE9BQUwsR0FBZUYsTUFBZjtBQUNBLFNBQUtDLE9BQUwsR0FBZUEsT0FBZjtBQUNIOztBQUVERSxPQUFLLENBQUMsR0FBR0MsSUFBSixFQUFVO0FBQ1gsUUFBSSxDQUFDLEtBQUtILE9BQVYsRUFBbUI7QUFDZjtBQUNIOztBQUNELFNBQUtJLElBQUwsQ0FBVSxLQUFWLEVBQWlCLEdBQUdELElBQXBCO0FBQ0g7O0FBRURFLE1BQUksQ0FBQyxHQUFHRixJQUFKLEVBQVU7QUFDVixTQUFLQyxJQUFMLENBQVUsTUFBVixFQUFrQixHQUFHRCxJQUFyQjtBQUNIOztBQUVERyxNQUFJLENBQUMsR0FBR0gsSUFBSixFQUFVO0FBQ1YsU0FBS0MsSUFBTCxDQUFVLE1BQVYsRUFBa0IsR0FBR0QsSUFBckI7QUFDSDs7QUFFREksT0FBSyxDQUFDLEdBQUdKLElBQUosRUFBVTtBQUNYLFNBQUtDLElBQUwsQ0FBVSxPQUFWLEVBQW1CLEdBQUdELElBQXRCO0FBQ0g7O0FBRURDLE1BQUksQ0FBQ0ksTUFBRCxFQUFTLEdBQUdMLElBQVosRUFBa0I7QUFDbEIsUUFBSSxPQUFPTSxNQUFQLEtBQWtCLFdBQXRCLEVBQW1DO0FBQy9CO0FBQ0E7QUFDSDs7QUFFREMsV0FBTyxDQUFDRixNQUFELENBQVAsQ0FBZ0IsR0FBRyxLQUFLRyxPQUFMLENBQWEsR0FBR1IsSUFBaEIsQ0FBbkI7QUFDSDs7QUFFRFEsU0FBTyxDQUFDLEdBQUdSLElBQUosRUFBVTtBQUNiLFVBQU1TLEtBQUssR0FBRyxHQUFHQyxLQUFILENBQVNDLElBQVQsQ0FBY1gsSUFBZCxDQUFkOztBQUNBUyxTQUFLLENBQUNHLE9BQU4sQ0FBZSxJQUFHQyxtQkFBTUMsMkJBQU4sRUFBb0MsT0FBTSxLQUFLaEIsT0FBUSxJQUF6RTs7QUFDQSxXQUFPVyxLQUFQO0FBQ0g7O0FBdENlIiwiZmlsZSI6Ii4vc3JjL2xvZ2dlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRpbWVyIH0gZnJvbSAnQHBsYXlidXp6L2NsaWVudC10aW1lcic7XG5cbi8qIGVzbGludCBuby1jb25zb2xlOiBcIm9mZlwiICovXG5leHBvcnQgY2xhc3MgTG9nZ2VyIHtcbiAgICBjb25zdHJ1Y3Rvcih7IHByZWZpeCA9ICcnLCBpc0RlYnVnID0gZmFsc2UgfSA9IHt9KSB7XG4gICAgICAgIHRoaXMuX3ByZWZpeCA9IHByZWZpeDtcbiAgICAgICAgdGhpcy5pc0RlYnVnID0gaXNEZWJ1ZztcbiAgICB9XG5cbiAgICBkZWJ1ZyguLi5hcmdzKSB7XG4gICAgICAgIGlmICghdGhpcy5pc0RlYnVnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fbG9nKCdsb2cnLCAuLi5hcmdzKTtcbiAgICB9XG5cbiAgICBpbmZvKC4uLmFyZ3MpIHtcbiAgICAgICAgdGhpcy5fbG9nKCdpbmZvJywgLi4uYXJncyk7XG4gICAgfVxuXG4gICAgd2FybiguLi5hcmdzKSB7XG4gICAgICAgIHRoaXMuX2xvZygnd2FybicsIC4uLmFyZ3MpO1xuICAgIH1cblxuICAgIGVycm9yKC4uLmFyZ3MpIHtcbiAgICAgICAgdGhpcy5fbG9nKCdlcnJvcicsIC4uLmFyZ3MpO1xuICAgIH1cblxuICAgIF9sb2cobWV0aG9kLCAuLi5hcmdzKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgLy8gZG8gbm90IGxvZyBpbiBzZXJ2ZXIgZW52aXJvbm1lbnRcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnNvbGVbbWV0aG9kXSguLi50aGlzLl9mb3JtYXQoLi4uYXJncykpO1xuICAgIH1cblxuICAgIF9mb3JtYXQoLi4uYXJncykge1xuICAgICAgICBjb25zdCBfYXJncyA9IFtdLnNsaWNlLmNhbGwoYXJncyk7XG4gICAgICAgIF9hcmdzLnVuc2hpZnQoYFske1RpbWVyLmRlbHRhRnJvbURvbUxvYWRlZEluU2Vjb25kcygpfXNdIFske3RoaXMuX3ByZWZpeH1dOmApO1xuICAgICAgICByZXR1cm4gX2FyZ3M7XG4gICAgfVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./src/logger.js\\n\");\n\n/***/ }),\n\n/***/ \"@playbuzz/client-timer\":\n/*!*****************************************!*\\\n !*** external \"@playbuzz/client-timer\" ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"module.exports = __WEBPACK_EXTERNAL_MODULE__playbuzz_client_timer__;//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJAcGxheWJ1enovY2xpZW50LXRpbWVyXCI/NWFkNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiJAcGxheWJ1enovY2xpZW50LXRpbWVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX19wbGF5YnV6el9jbGllbnRfdGltZXJfXzsiXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///@playbuzz/client-timer\\n\");\n\n/***/ })\n\n/******/ });\n});\n\n//# sourceURL=webpack:///./node_modules/@playbuzz/client-logger/dist/bundle.development.js?"); /***/ }), /***/ "./node_modules/@playbuzz/client-logger/index.js": /*!*******************************************************!*\ !*** ./node_modules/@playbuzz/client-logger/index.js ***! \*******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./dist/bundle.development.js */ \"./node_modules/@playbuzz/client-logger/dist/bundle.development.js\");\n}\n\n\n//# sourceURL=webpack:///./node_modules/@playbuzz/client-logger/index.js?"); /***/ }), /***/ "./node_modules/@playbuzz/client-timer/dist/bundle.development.js": /*!************************************************************************!*\ !*** ./node_modules/@playbuzz/client-timer/dist/bundle.development.js ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory(__webpack_require__(/*! @playbuzz/client-utils */ \"./node_modules/@playbuzz/client-utils/index.js\"));\n\telse { var i, a; }\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE__playbuzz_client_utils__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n !*** ./src/index.js ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n value: true\\n});\\nObject.defineProperty(exports, \\\"Timer\\\", {\\n enumerable: true,\\n get: function () {\\n return _timer.Timer;\\n }\\n});\\n\\nvar _timer = __webpack_require__(/*! ./timer */ \\\"./src/timer.js\\\");//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvaW5kZXguanM/YjYzNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSIsImZpbGUiOiIuL3NyYy9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFRpbWVyIH0gZnJvbSAnLi90aW1lcic7XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./src/index.js\\n\");\n\n/***/ }),\n\n/***/ \"./src/timer.js\":\n/*!**********************!*\\\n !*** ./src/timer.js ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n value: true\\n});\\nexports.Timer = void 0;\\n\\nvar _clientUtils = __webpack_require__(/*! @playbuzz/client-utils */ \\\"@playbuzz/client-utils\\\");\\n\\nclass Timer {\\n start() {\\n this.startTime = window.performance.now();\\n }\\n\\n delta() {\\n return window.performance.now() - this.startTime;\\n }\\n\\n static deltaFromDomLoaded() {\\n const win = (0, _clientUtils.getTopWindow)();\\n return win.performance.now();\\n }\\n\\n static deltaFromDomLoadedInSeconds({\\n precision = 2\\n } = {}) {\\n return (Timer.deltaFromDomLoaded() / 1000).toFixed(precision);\\n }\\n\\n}\\n\\nexports.Timer = Timer;//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvdGltZXIuanM/YWI0YiJdLCJuYW1lcyI6WyJUaW1lciIsInN0YXJ0Iiwic3RhcnRUaW1lIiwid2luZG93IiwicGVyZm9ybWFuY2UiLCJub3ciLCJkZWx0YSIsImRlbHRhRnJvbURvbUxvYWRlZCIsIndpbiIsImRlbHRhRnJvbURvbUxvYWRlZEluU2Vjb25kcyIsInByZWNpc2lvbiIsInRvRml4ZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFTyxNQUFNQSxLQUFOLENBQVk7QUFDZkMsT0FBSyxHQUFHO0FBQ0osU0FBS0MsU0FBTCxHQUFpQkMsTUFBTSxDQUFDQyxXQUFQLENBQW1CQyxHQUFuQixFQUFqQjtBQUNIOztBQUVEQyxPQUFLLEdBQUc7QUFDSixXQUFPSCxNQUFNLENBQUNDLFdBQVAsQ0FBbUJDLEdBQW5CLEtBQTJCLEtBQUtILFNBQXZDO0FBQ0g7O0FBRUQsU0FBT0ssa0JBQVAsR0FBNEI7QUFDeEIsVUFBTUMsR0FBRyxHQUFHLGdDQUFaO0FBQ0EsV0FBT0EsR0FBRyxDQUFDSixXQUFKLENBQWdCQyxHQUFoQixFQUFQO0FBQ0g7O0FBRUQsU0FBT0ksMkJBQVAsQ0FBbUM7QUFBRUMsYUFBUyxHQUFHO0FBQWQsTUFBb0IsRUFBdkQsRUFBMkQ7QUFDdkQsV0FBTyxDQUFDVixLQUFLLENBQUNPLGtCQUFOLEtBQTZCLElBQTlCLEVBQW9DSSxPQUFwQyxDQUE0Q0QsU0FBNUMsQ0FBUDtBQUNIOztBQWhCYyIsImZpbGUiOiIuL3NyYy90aW1lci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFRvcFdpbmRvdyB9IGZyb20gJ0BwbGF5YnV6ei9jbGllbnQtdXRpbHMnO1xuXG5leHBvcnQgY2xhc3MgVGltZXIge1xuICAgIHN0YXJ0KCkge1xuICAgICAgICB0aGlzLnN0YXJ0VGltZSA9IHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKTtcbiAgICB9XG5cbiAgICBkZWx0YSgpIHtcbiAgICAgICAgcmV0dXJuIHdpbmRvdy5wZXJmb3JtYW5jZS5ub3coKSAtIHRoaXMuc3RhcnRUaW1lO1xuICAgIH1cblxuICAgIHN0YXRpYyBkZWx0YUZyb21Eb21Mb2FkZWQoKSB7XG4gICAgICAgIGNvbnN0IHdpbiA9IGdldFRvcFdpbmRvdygpO1xuICAgICAgICByZXR1cm4gd2luLnBlcmZvcm1hbmNlLm5vdygpO1xuICAgIH1cblxuICAgIHN0YXRpYyBkZWx0YUZyb21Eb21Mb2FkZWRJblNlY29uZHMoeyBwcmVjaXNpb24gPSAyIH0gPSB7fSkge1xuICAgICAgICByZXR1cm4gKFRpbWVyLmRlbHRhRnJvbURvbUxvYWRlZCgpIC8gMTAwMCkudG9GaXhlZChwcmVjaXNpb24pO1xuICAgIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./src/timer.js\\n\");\n\n/***/ }),\n\n/***/ \"@playbuzz/client-utils\":\n/*!*****************************************!*\\\n !*** external \"@playbuzz/client-utils\" ***!\n \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"module.exports = __WEBPACK_EXTERNAL_MODULE__playbuzz_client_utils__;//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJAcGxheWJ1enovY2xpZW50LXV0aWxzXCI/OGQwMiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiJAcGxheWJ1enovY2xpZW50LXV0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX19wbGF5YnV6el9jbGllbnRfdXRpbHNfXzsiXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///@playbuzz/client-utils\\n\");\n\n/***/ })\n\n/******/ });\n});\n\n//# sourceURL=webpack:///./node_modules/@playbuzz/client-timer/dist/bundle.development.js?"); /***/ }), /***/ "./node_modules/@playbuzz/client-timer/index.js": /*!******************************************************!*\ !*** ./node_modules/@playbuzz/client-timer/index.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./dist/bundle.development.js */ \"./node_modules/@playbuzz/client-timer/dist/bundle.development.js\");\n}\n\n\n//# sourceURL=webpack:///./node_modules/@playbuzz/client-timer/index.js?"); /***/ }), /***/ "./node_modules/@playbuzz/client-utils/dist/bundle.development.js": /*!************************************************************************!*\ !*** ./node_modules/@playbuzz/client-utils/dist/bundle.development.js ***! \************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse { var i, a; }\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./src/dom-utils.js\":\n/*!**************************!*\\\n !*** ./src/dom-utils.js ***!\n \\**************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n value: true\\n});\\nexports.getTopWindow = getTopWindow;\\nexports.copyToClipboard = copyToClipboard;\\nexports.findAncestor = findAncestor;\\n\\nfunction getTopWindow() {\\n let win = window;\\n\\n while (win.frameElement) {\\n win = win.parent;\\n }\\n\\n return win;\\n}\\n\\nfunction copyToClipboard(text) {\\n return new Promise((resolve, reject) => {\\n // create element\\n const elem = document.createElement('textarea');\\n elem.style.opacity = '0';\\n elem.style.border = '0';\\n elem.style.margin = '0';\\n elem.style.padding = '0';\\n elem.style.width = '1px';\\n elem.style.height = '1px';\\n\\n try {\\n // insert the text\\n elem.value = text; // do the copy\\n\\n document.body.appendChild(elem);\\n elem.select();\\n document.execCommand('copy'); // clean\\n\\n elem.parentNode.removeChild(elem); // resolve\\n\\n resolve(text);\\n } catch (err) {\\n reject(err);\\n }\\n });\\n}\\n/**\\n * Finds the first parent of an element that matches a given selector, if not found returns null\\n * @param element\\n * @param {string} selector\\n * @returns {element | null}\\n */\\n\\n\\nfunction findAncestor(element, selector) {\\n if (element.closest) {\\n return element.closest(selector);\\n }\\n\\n let currentElement = element;\\n\\n while (currentElement) {\\n if (currentElement.matches(selector)) {\\n return currentElement;\\n }\\n\\n currentElement = currentElement.parentElement;\\n }\\n\\n return null;\\n}//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvZG9tLXV0aWxzLmpzPzYxMWIiXSwibmFtZXMiOlsiZ2V0VG9wV2luZG93Iiwid2luIiwid2luZG93IiwiZnJhbWVFbGVtZW50IiwicGFyZW50IiwiY29weVRvQ2xpcGJvYXJkIiwidGV4dCIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiZWxlbSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwib3BhY2l0eSIsImJvcmRlciIsIm1hcmdpbiIsInBhZGRpbmciLCJ3aWR0aCIsImhlaWdodCIsInZhbHVlIiwiYm9keSIsImFwcGVuZENoaWxkIiwic2VsZWN0IiwiZXhlY0NvbW1hbmQiLCJwYXJlbnROb2RlIiwicmVtb3ZlQ2hpbGQiLCJlcnIiLCJmaW5kQW5jZXN0b3IiLCJlbGVtZW50Iiwic2VsZWN0b3IiLCJjbG9zZXN0IiwiY3VycmVudEVsZW1lbnQiLCJtYXRjaGVzIiwicGFyZW50RWxlbWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQU8sU0FBU0EsWUFBVCxHQUF3QjtBQUMzQixNQUFJQyxHQUFHLEdBQUdDLE1BQVY7O0FBRUEsU0FBT0QsR0FBRyxDQUFDRSxZQUFYLEVBQXlCO0FBQ3JCRixPQUFHLEdBQUdBLEdBQUcsQ0FBQ0csTUFBVjtBQUNIOztBQUVELFNBQU9ILEdBQVA7QUFDSDs7QUFFTSxTQUFTSSxlQUFULENBQXlCQyxJQUF6QixFQUErQjtBQUNsQyxTQUFPLElBQUlDLE9BQUosQ0FBWSxDQUFDQyxPQUFELEVBQVVDLE1BQVYsS0FBcUI7QUFDcEM7QUFDQSxVQUFNQyxJQUFJLEdBQUdDLFFBQVEsQ0FBQ0MsYUFBVCxDQUF1QixVQUF2QixDQUFiO0FBQ0FGLFFBQUksQ0FBQ0csS0FBTCxDQUFXQyxPQUFYLEdBQXFCLEdBQXJCO0FBQ0FKLFFBQUksQ0FBQ0csS0FBTCxDQUFXRSxNQUFYLEdBQW9CLEdBQXBCO0FBQ0FMLFFBQUksQ0FBQ0csS0FBTCxDQUFXRyxNQUFYLEdBQW9CLEdBQXBCO0FBQ0FOLFFBQUksQ0FBQ0csS0FBTCxDQUFXSSxPQUFYLEdBQXFCLEdBQXJCO0FBQ0FQLFFBQUksQ0FBQ0csS0FBTCxDQUFXSyxLQUFYLEdBQW1CLEtBQW5CO0FBQ0FSLFFBQUksQ0FBQ0csS0FBTCxDQUFXTSxNQUFYLEdBQW9CLEtBQXBCOztBQUVBLFFBQUk7QUFDQTtBQUNBVCxVQUFJLENBQUNVLEtBQUwsR0FBYWQsSUFBYixDQUZBLENBSUE7O0FBQ0FLLGNBQVEsQ0FBQ1UsSUFBVCxDQUFjQyxXQUFkLENBQTBCWixJQUExQjtBQUNBQSxVQUFJLENBQUNhLE1BQUw7QUFDQVosY0FBUSxDQUFDYSxXQUFULENBQXFCLE1BQXJCLEVBUEEsQ0FTQTs7QUFDQWQsVUFBSSxDQUFDZSxVQUFMLENBQWdCQyxXQUFoQixDQUE0QmhCLElBQTVCLEVBVkEsQ0FZQTs7QUFDQUYsYUFBTyxDQUFDRixJQUFELENBQVA7QUFDSCxLQWRELENBY0UsT0FBT3FCLEdBQVAsRUFBWTtBQUNWbEIsWUFBTSxDQUFDa0IsR0FBRCxDQUFOO0FBQ0g7QUFDSixHQTNCTSxDQUFQO0FBNEJIO0FBRUQ7Ozs7Ozs7O0FBTU8sU0FBU0MsWUFBVCxDQUFzQkMsT0FBdEIsRUFBK0JDLFFBQS9CLEVBQXlDO0FBQzVDLE1BQUlELE9BQU8sQ0FBQ0UsT0FBWixFQUFxQjtBQUNqQixXQUFPRixPQUFPLENBQUNFLE9BQVIsQ0FBZ0JELFFBQWhCLENBQVA7QUFDSDs7QUFDRCxNQUFJRSxjQUFjLEdBQUdILE9BQXJCOztBQUNBLFNBQU9HLGNBQVAsRUFBdUI7QUFDbkIsUUFBSUEsY0FBYyxDQUFDQyxPQUFmLENBQXVCSCxRQUF2QixDQUFKLEVBQXNDO0FBQ2xDLGFBQU9FLGNBQVA7QUFDSDs7QUFDREEsa0JBQWMsR0FBR0EsY0FBYyxDQUFDRSxhQUFoQztBQUNIOztBQUNELFNBQU8sSUFBUDtBQUNIIiwiZmlsZSI6Ii4vc3JjL2RvbS11dGlscy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBnZXRUb3BXaW5kb3coKSB7XG4gICAgbGV0IHdpbiA9IHdpbmRvdztcblxuICAgIHdoaWxlICh3aW4uZnJhbWVFbGVtZW50KSB7XG4gICAgICAgIHdpbiA9IHdpbi5wYXJlbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHdpbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvcHlUb0NsaXBib2FyZCh0ZXh0KSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgLy8gY3JlYXRlIGVsZW1lbnRcbiAgICAgICAgY29uc3QgZWxlbSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RleHRhcmVhJyk7XG4gICAgICAgIGVsZW0uc3R5bGUub3BhY2l0eSA9ICcwJztcbiAgICAgICAgZWxlbS5zdHlsZS5ib3JkZXIgPSAnMCc7XG4gICAgICAgIGVsZW0uc3R5bGUubWFyZ2luID0gJzAnO1xuICAgICAgICBlbGVtLnN0eWxlLnBhZGRpbmcgPSAnMCc7XG4gICAgICAgIGVsZW0uc3R5bGUud2lkdGggPSAnMXB4JztcbiAgICAgICAgZWxlbS5zdHlsZS5oZWlnaHQgPSAnMXB4JztcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gaW5zZXJ0IHRoZSB0ZXh0XG4gICAgICAgICAgICBlbGVtLnZhbHVlID0gdGV4dDtcblxuICAgICAgICAgICAgLy8gZG8gdGhlIGNvcHlcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbSk7XG4gICAgICAgICAgICBlbGVtLnNlbGVjdCgpO1xuICAgICAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTtcblxuICAgICAgICAgICAgLy8gY2xlYW5cbiAgICAgICAgICAgIGVsZW0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtKTtcblxuICAgICAgICAgICAgLy8gcmVzb2x2ZVxuICAgICAgICAgICAgcmVzb2x2ZSh0ZXh0KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vKipcbiAqIEZpbmRzIHRoZSBmaXJzdCBwYXJlbnQgb2YgYW4gZWxlbWVudCB0aGF0IG1hdGNoZXMgYSBnaXZlbiBzZWxlY3RvciwgaWYgbm90IGZvdW5kIHJldHVybnMgbnVsbFxuICogQHBhcmFtIGVsZW1lbnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RvclxuICogQHJldHVybnMge2VsZW1lbnQgfCBudWxsfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZEFuY2VzdG9yKGVsZW1lbnQsIHNlbGVjdG9yKSB7XG4gICAgaWYgKGVsZW1lbnQuY2xvc2VzdCkge1xuICAgICAgICByZXR1cm4gZWxlbWVudC5jbG9zZXN0KHNlbGVjdG9yKTtcbiAgICB9XG4gICAgbGV0IGN1cnJlbnRFbGVtZW50ID0gZWxlbWVudDtcbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQpIHtcbiAgICAgICAgaWYgKGN1cnJlbnRFbGVtZW50Lm1hdGNoZXMoc2VsZWN0b3IpKSB7XG4gICAgICAgICAgICByZXR1cm4gY3VycmVudEVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgY3VycmVudEVsZW1lbnQgPSBjdXJyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./src/dom-utils.js\\n\");\n\n/***/ }),\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n !*** ./src/index.js ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n value: true\\n});\\nObject.defineProperty(exports, \\\"throttle\\\", {\\n enumerable: true,\\n get: function () {\\n return _utils.throttle;\\n }\\n});\\nObject.defineProperty(exports, \\\"debounce\\\", {\\n enumerable: true,\\n get: function () {\\n return _utils.debounce;\\n }\\n});\\nObject.defineProperty(exports, \\\"entries\\\", {\\n enumerable: true,\\n get: function () {\\n return _utils.entries;\\n }\\n});\\nObject.defineProperty(exports, \\\"isEmptyObject\\\", {\\n enumerable: true,\\n get: function () {\\n return _utils.isEmptyObject;\\n }\\n});\\nObject.defineProperty(exports, \\\"getTopWindow\\\", {\\n enumerable: true,\\n get: function () {\\n return _domUtils.getTopWindow;\\n }\\n});\\nObject.defineProperty(exports, \\\"copyToClipboard\\\", {\\n enumerable: true,\\n get: function () {\\n return _domUtils.copyToClipboard;\\n }\\n});\\nObject.defineProperty(exports, \\\"findAncestor\\\", {\\n enumerable: true,\\n get: function () {\\n return _domUtils.findAncestor;\\n }\\n});\\nObject.defineProperty(exports, \\\"isUrl\\\", {\\n enumerable: true,\\n get: function () {\\n return _urlUtils.isUrl;\\n }\\n});\\nObject.defineProperty(exports, \\\"extractHostname\\\", {\\n enumerable: true,\\n get: function () {\\n return _urlUtils.extractHostname;\\n }\\n});\\nObject.defineProperty(exports, \\\"getTopUrl\\\", {\\n enumerable: true,\\n get: function () {\\n return _urlUtils.getTopUrl;\\n }\\n});\\nObject.defineProperty(exports, \\\"getQueryStringValue\\\", {\\n enumerable: true,\\n get: function () {\\n return _urlUtils.getQueryStringValue;\\n }\\n});\\nObject.defineProperty(exports, \\\"getParamValueByKey\\\", {\\n enumerable: true,\\n get: function () {\\n return _urlUtils.getParamValueByKey;\\n }\\n});\\nObject.defineProperty(exports, \\\"getCurrentQueryString\\\", {\\n enumerable: true,\\n get: function () {\\n return _urlUtils.getCurrentQueryString;\\n }\\n});\\nObject.defineProperty(exports, \\\"getQueryParamsObject\\\", {\\n enumerable: true,\\n get: function () {\\n return _urlUtils.getQueryParamsObject;\\n }\\n});\\nObject.defineProperty(exports, \\\"upsertQueryParam\\\", {\\n enumerable: true,\\n get: function () {\\n return _urlUtils.upsertQueryParam;\\n }\\n});\\nObject.defineProperty(exports, \\\"upsertQueryParams\\\", {\\n enumerable: true,\\n get: function () {\\n return _urlUtils.upsertQueryParams;\\n }\\n});\\nObject.defineProperty(exports, \\\"generateUrlQueryString\\\", {\\n enumerable: true,\\n get: function () {\\n return _urlUtils.generateUrlQueryString;\\n }\\n});\\n\\nvar _utils = __webpack_require__(/*! ./utils */ \\\"./src/utils.js\\\");\\n\\nvar _domUtils = __webpack_require__(/*! ./dom-utils */ \\\"./src/dom-utils.js\\\");\\n\\nvar _urlUtils = __webpack_require__(/*! ./url-utils */ \\\"./src/url-utils.js\\\");//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvaW5kZXguanM/YjYzNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFNQTs7QUFLQSIsImZpbGUiOiIuL3NyYy9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gICAgdGhyb3R0bGUsXG4gICAgZGVib3VuY2UsXG4gICAgZW50cmllcyxcbiAgICBpc0VtcHR5T2JqZWN0LFxufSBmcm9tICcuL3V0aWxzJztcbmV4cG9ydCB7XG4gICAgZ2V0VG9wV2luZG93LFxuICAgIGNvcHlUb0NsaXBib2FyZCxcbiAgICBmaW5kQW5jZXN0b3IsXG59IGZyb20gJy4vZG9tLXV0aWxzJztcbmV4cG9ydCB7XG4gICAgaXNVcmwsXG4gICAgZXh0cmFjdEhvc3RuYW1lLFxuICAgIGdldFRvcFVybCxcbiAgICBnZXRRdWVyeVN0cmluZ1ZhbHVlLFxuICAgIGdldFBhcmFtVmFsdWVCeUtleSxcbiAgICBnZXRDdXJyZW50UXVlcnlTdHJpbmcsXG4gICAgZ2V0UXVlcnlQYXJhbXNPYmplY3QsXG4gICAgdXBzZXJ0UXVlcnlQYXJhbSxcbiAgICB1cHNlcnRRdWVyeVBhcmFtcyxcbiAgICBnZW5lcmF0ZVVybFF1ZXJ5U3RyaW5nLFxufSBmcm9tICcuL3VybC11dGlscyc7XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./src/index.js\\n\");\n\n/***/ }),\n\n/***/ \"./src/url-utils.js\":\n/*!**************************!*\\\n !*** ./src/url-utils.js ***!\n \\**************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n value: true\\n});\\nexports.isUrl = isUrl;\\nexports.extractHostname = extractHostname;\\nexports.getTopUrl = getTopUrl;\\nexports.getQueryStringValue = getQueryStringValue;\\nexports.getQueryParamsObject = getQueryParamsObject;\\nexports.getParamValueByKey = getParamValueByKey;\\nexports.upsertQueryParams = upsertQueryParams;\\nexports.upsertQueryParam = upsertQueryParam;\\nexports.generateUrlQueryString = generateUrlQueryString;\\nexports.getCurrentQueryString = getCurrentQueryString;\\n\\nvar _domUtils = __webpack_require__(/*! ./dom-utils */ \\\"./src/dom-utils.js\\\");\\n\\n// A regex for extracting hostname.\\n// example: http://www.playbuzz.com/create => www.playbuzz.com.\\nconst HOSTNAME_REGEX = /^(?:https?:\\\\/\\\\/)?(?:[^@\\\\n]+@)?(?:www\\\\.)?([^:/\\\\n?=]+)/im; // A regex for extracting domain.\\n// example: www.playbuzz.com => playbuzz.com.\\n\\nconst DOMAIN_REGEX = /^(www.)(.*)$/;\\n/**\\n * Checks if the specified string is a valid url.\\n * i.e. starts with http: https:\\n *\\n * @param {String} url\\n * @returns {Boolean}\\n */\\n\\nfunction isUrl(url) {\\n return /^(https?:|ftp)/i.test(url);\\n}\\n/**\\n * A function that extracts hostname from a given url.\\n * @see: https://stackoverflow.com/questions/34818020/javascript-regex-url-extract-domain-only\\n */\\n\\n\\nfunction extractHostname(url) {\\n if (!isUrl(url)) {\\n return url;\\n }\\n\\n let result;\\n let match = url.match(HOSTNAME_REGEX);\\n\\n if (match) {\\n [, result] = match;\\n match = result.match(DOMAIN_REGEX);\\n\\n if (match) {\\n [, result] = match;\\n }\\n }\\n\\n return result;\\n}\\n/**\\n * A function that returns the top level window url.\\n * @returns {string}\\n */\\n\\n\\nfunction getTopUrl() {\\n const win = (0, _domUtils.getTopWindow)();\\n return win.location.href;\\n}\\n/**\\n * A function that returns the value of a given key from the query string.\\n * @param {String} key The key to get the value of\\n * @return {String} The value\\n */\\n\\n\\nfunction getQueryStringValue(key) {\\n if (typeof window === 'undefined') {\\n return null;\\n }\\n\\n const {\\n href\\n } = window.location;\\n const reg = new RegExp(`[?&]${key}=([^&#]*)`, 'i');\\n const string = reg.exec(href);\\n return string ? string[1] : null;\\n}\\n/**\\n * A function that returns object of key-value pairs of query parameters.\\n * @return {Object} query string key-value pairs\\n */\\n\\n\\nfunction getQueryParamsObject() {\\n if (typeof window === 'undefined') {\\n return [];\\n }\\n\\n const {\\n href\\n } = window.location;\\n const parts = href.split('?');\\n const isValid = parts.length === 2;\\n const search = href.split('?')[1];\\n\\n if (isValid && search && search.length) {\\n const queryString = decodeURIComponent(search);\\n\\n if (queryString.length) {\\n const queryParamsPairs = queryString.split('&');\\n return queryParamsPairs.map(p => ({\\n key: p.split('=')[0].replace('?', ''),\\n value: p.split('=')[1]\\n }));\\n }\\n }\\n\\n return [];\\n}\\n/**\\n * A function that returns the value/values of a given key from the query string.\\n * @param {String} key The key to get the value of\\n * @return {Array} values associated with the key\\n */\\n\\n\\nfunction getParamValueByKey(key) {\\n const params = getQueryParamsObject();\\n const searchParamIndex = params.findIndex(sv => sv.key === key);\\n return searchParamIndex !== -1 ? params[searchParamIndex].value.split(',') : null;\\n}\\n/**\\n * A function that adds/updates query params.\\n * @param queryParams {Object} current key-value pairs\\n * @param newParams {Object} key-value pairs to add/update\\n * @return {Object} updated query params\\n */\\n\\n\\nfunction upsertQueryParams(queryParams, newParams) {\\n newParams.forEach(nqp => {\\n const existingIndex = queryParams.findIndex(qp => qp.key === nqp.key);\\n\\n if (existingIndex !== -1) {\\n // exists in url\\n if (nqp.value.length === 0) {\\n // if filter was removed\\n queryParams.splice(existingIndex, 1);\\n } else {\\n // update value\\n queryParams[existingIndex].value = nqp.value;\\n }\\n } else if (nqp.value.length !== 0) {\\n // value is not empty and did not exists in url\\n queryParams.push(nqp);\\n }\\n });\\n return queryParams;\\n}\\n/**\\n * A function that adds/updates a single query param.\\n * @param key {Object} key to add/update\\n * @param value {Object} value to set\\n * @return {Object} updated query params\\n */\\n\\n\\nfunction upsertQueryParam(key, value) {\\n const queryParams = getQueryParamsObject();\\n const newQueryParamObj = [{\\n key,\\n value\\n }];\\n return upsertQueryParams(queryParams, newQueryParamObj);\\n}\\n/**\\n * A function that creates a formatted query string from query params key-value pairs object.\\n * @param queryParams {Object} query params key-value pairs\\n * @return {String} search string\\n */\\n\\n\\nfunction generateUrlQueryString(queryParams) {\\n const reducer = (str, param, index) => str.concat(`${index === 0 ? '' : '&'}${param.key}=${param.value}`);\\n\\n return `?${queryParams.reduce(reducer, '')}`;\\n}\\n/**\\n * A function that returns the current search string from the url.\\n * @return {String} search string\\n */\\n\\n\\nfunction getCurrentQueryString() {\\n if (typeof window === 'undefined') {\\n return '';\\n }\\n\\n const {\\n href\\n } = window.location;\\n const parts = href.split('?');\\n const isValid = parts.length === 2;\\n const search = href.split('?')[1] || '';\\n return isValid ? search : '';\\n}//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvdXJsLXV0aWxzLmpzPzA4MTUiXSwibmFtZXMiOlsiSE9TVE5BTUVfUkVHRVgiLCJET01BSU5fUkVHRVgiLCJpc1VybCIsInVybCIsInRlc3QiLCJleHRyYWN0SG9zdG5hbWUiLCJyZXN1bHQiLCJtYXRjaCIsImdldFRvcFVybCIsIndpbiIsImxvY2F0aW9uIiwiaHJlZiIsImdldFF1ZXJ5U3RyaW5nVmFsdWUiLCJrZXkiLCJ3aW5kb3ciLCJyZWciLCJSZWdFeHAiLCJzdHJpbmciLCJleGVjIiwiZ2V0UXVlcnlQYXJhbXNPYmplY3QiLCJwYXJ0cyIsInNwbGl0IiwiaXNWYWxpZCIsImxlbmd0aCIsInNlYXJjaCIsInF1ZXJ5U3RyaW5nIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwicXVlcnlQYXJhbXNQYWlycyIsIm1hcCIsInAiLCJyZXBsYWNlIiwidmFsdWUiLCJnZXRQYXJhbVZhbHVlQnlLZXkiLCJwYXJhbXMiLCJzZWFyY2hQYXJhbUluZGV4IiwiZmluZEluZGV4Iiwic3YiLCJ1cHNlcnRRdWVyeVBhcmFtcyIsInF1ZXJ5UGFyYW1zIiwibmV3UGFyYW1zIiwiZm9yRWFjaCIsIm5xcCIsImV4aXN0aW5nSW5kZXgiLCJxcCIsInNwbGljZSIsInB1c2giLCJ1cHNlcnRRdWVyeVBhcmFtIiwibmV3UXVlcnlQYXJhbU9iaiIsImdlbmVyYXRlVXJsUXVlcnlTdHJpbmciLCJyZWR1Y2VyIiwic3RyIiwicGFyYW0iLCJpbmRleCIsImNvbmNhdCIsInJlZHVjZSIsImdldEN1cnJlbnRRdWVyeVN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUVBO0FBQ0E7QUFDQSxNQUFNQSxjQUFjLEdBQUcsd0RBQXZCLEMsQ0FFQTtBQUNBOztBQUNBLE1BQU1DLFlBQVksR0FBRyxjQUFyQjtBQUVBOzs7Ozs7OztBQU9PLFNBQVNDLEtBQVQsQ0FBZUMsR0FBZixFQUFvQjtBQUN2QixTQUFPLGtCQUFrQkMsSUFBbEIsQ0FBdUJELEdBQXZCLENBQVA7QUFDSDtBQUVEOzs7Ozs7QUFJTyxTQUFTRSxlQUFULENBQXlCRixHQUF6QixFQUE4QjtBQUNqQyxNQUFJLENBQUNELEtBQUssQ0FBQ0MsR0FBRCxDQUFWLEVBQWlCO0FBQ2IsV0FBT0EsR0FBUDtBQUNIOztBQUVELE1BQUlHLE1BQUo7QUFDQSxNQUFJQyxLQUFLLEdBQUdKLEdBQUcsQ0FBQ0ksS0FBSixDQUFVUCxjQUFWLENBQVo7O0FBQ0EsTUFBSU8sS0FBSixFQUFXO0FBQ1AsT0FBR0QsTUFBSCxJQUFhQyxLQUFiO0FBQ0FBLFNBQUssR0FBR0QsTUFBTSxDQUFDQyxLQUFQLENBQWFOLFlBQWIsQ0FBUjs7QUFDQSxRQUFJTSxLQUFKLEVBQVc7QUFDUCxTQUFHRCxNQUFILElBQWFDLEtBQWI7QUFDSDtBQUNKOztBQUNELFNBQU9ELE1BQVA7QUFDSDtBQUVEOzs7Ozs7QUFJTyxTQUFTRSxTQUFULEdBQXFCO0FBQ3hCLFFBQU1DLEdBQUcsR0FBRyw2QkFBWjtBQUNBLFNBQU9BLEdBQUcsQ0FBQ0MsUUFBSixDQUFhQyxJQUFwQjtBQUNIO0FBRUQ7Ozs7Ozs7QUFLTyxTQUFTQyxtQkFBVCxDQUE2QkMsR0FBN0IsRUFBa0M7QUFDckMsTUFBSSxPQUFPQyxNQUFQLEtBQWtCLFdBQXRCLEVBQW1DO0FBQy9CLFdBQU8sSUFBUDtBQUNIOztBQUVELFFBQU07QUFBRUg7QUFBRixNQUFXRyxNQUFNLENBQUNKLFFBQXhCO0FBQ0EsUUFBTUssR0FBRyxHQUFHLElBQUlDLE1BQUosQ0FBWSxPQUFNSCxHQUFJLFdBQXRCLEVBQWtDLEdBQWxDLENBQVo7QUFDQSxRQUFNSSxNQUFNLEdBQUdGLEdBQUcsQ0FBQ0csSUFBSixDQUFTUCxJQUFULENBQWY7QUFDQSxTQUFPTSxNQUFNLEdBQUdBLE1BQU0sQ0FBQyxDQUFELENBQVQsR0FBZSxJQUE1QjtBQUNIO0FBRUQ7Ozs7OztBQUlPLFNBQVNFLG9CQUFULEdBQWdDO0FBQ25DLE1BQUksT0FBT0wsTUFBUCxLQUFrQixXQUF0QixFQUFtQztBQUMvQixXQUFPLEVBQVA7QUFDSDs7QUFFRCxRQUFNO0FBQUVIO0FBQUYsTUFBV0csTUFBTSxDQUFDSixRQUF4QjtBQUNBLFFBQU1VLEtBQUssR0FBR1QsSUFBSSxDQUFDVSxLQUFMLENBQVcsR0FBWCxDQUFkO0FBQ0EsUUFBTUMsT0FBTyxHQUFHRixLQUFLLENBQUNHLE1BQU4sS0FBaUIsQ0FBakM7QUFDQSxRQUFNQyxNQUFNLEdBQUdiLElBQUksQ0FBQ1UsS0FBTCxDQUFXLEdBQVgsRUFBZ0IsQ0FBaEIsQ0FBZjs7QUFFQSxNQUFJQyxPQUFPLElBQUlFLE1BQVgsSUFBcUJBLE1BQU0sQ0FBQ0QsTUFBaEMsRUFBd0M7QUFDcEMsVUFBTUUsV0FBVyxHQUFHQyxrQkFBa0IsQ0FBQ0YsTUFBRCxDQUF0Qzs7QUFDQSxRQUFJQyxXQUFXLENBQUNGLE1BQWhCLEVBQXdCO0FBQ3BCLFlBQU1JLGdCQUFnQixHQUFHRixXQUFXLENBQUNKLEtBQVosQ0FBa0IsR0FBbEIsQ0FBekI7QUFDQSxhQUFPTSxnQkFBZ0IsQ0FBQ0MsR0FBakIsQ0FBcUJDLENBQUMsS0FBSztBQUM5QmhCLFdBQUcsRUFBRWdCLENBQUMsQ0FBQ1IsS0FBRixDQUFRLEdBQVIsRUFBYSxDQUFiLEVBQWdCUyxPQUFoQixDQUF3QixHQUF4QixFQUE2QixFQUE3QixDQUR5QjtBQUU5QkMsYUFBSyxFQUFFRixDQUFDLENBQUNSLEtBQUYsQ0FBUSxHQUFSLEVBQWEsQ0FBYjtBQUZ1QixPQUFMLENBQXRCLENBQVA7QUFJSDtBQUNKOztBQUNELFNBQU8sRUFBUDtBQUNIO0FBRUQ7Ozs7Ozs7QUFLTyxTQUFTVyxrQkFBVCxDQUE0Qm5CLEdBQTVCLEVBQWlDO0FBQ3BDLFFBQU1vQixNQUFNLEdBQUdkLG9CQUFvQixFQUFuQztBQUNBLFFBQU1lLGdCQUFnQixHQUFHRCxNQUFNLENBQUNFLFNBQVAsQ0FBaUJDLEVBQUUsSUFBSUEsRUFBRSxDQUFDdkIsR0FBSCxLQUFXQSxHQUFsQyxDQUF6QjtBQUNBLFNBQU9xQixnQkFBZ0IsS0FBSyxDQUFDLENBQXRCLEdBQTBCRCxNQUFNLENBQUNDLGdCQUFELENBQU4sQ0FBeUJILEtBQXpCLENBQStCVixLQUEvQixDQUFxQyxHQUFyQyxDQUExQixHQUFzRSxJQUE3RTtBQUNIO0FBRUQ7Ozs7Ozs7O0FBTU8sU0FBU2dCLGlCQUFULENBQTJCQyxXQUEzQixFQUF3Q0MsU0FBeEMsRUFBbUQ7QUFDdERBLFdBQVMsQ0FBQ0MsT0FBVixDQUFtQkMsR0FBRCxJQUFTO0FBQ3ZCLFVBQU1DLGFBQWEsR0FBR0osV0FBVyxDQUFDSCxTQUFaLENBQXNCUSxFQUFFLElBQUlBLEVBQUUsQ0FBQzlCLEdBQUgsS0FBVzRCLEdBQUcsQ0FBQzVCLEdBQTNDLENBQXRCOztBQUNBLFFBQUk2QixhQUFhLEtBQUssQ0FBQyxDQUF2QixFQUEwQjtBQUFFO0FBQ3hCLFVBQUlELEdBQUcsQ0FBQ1YsS0FBSixDQUFVUixNQUFWLEtBQXFCLENBQXpCLEVBQTRCO0FBQUU7QUFDMUJlLG1CQUFXLENBQUNNLE1BQVosQ0FBbUJGLGFBQW5CLEVBQWtDLENBQWxDO0FBQ0gsT0FGRCxNQUVPO0FBQUU7QUFDTEosbUJBQVcsQ0FBQ0ksYUFBRCxDQUFYLENBQTJCWCxLQUEzQixHQUFtQ1UsR0FBRyxDQUFDVixLQUF2QztBQUNIO0FBQ0osS0FORCxNQU1PLElBQUlVLEdBQUcsQ0FBQ1YsS0FBSixDQUFVUixNQUFWLEtBQXFCLENBQXpCLEVBQTRCO0FBQUU7QUFDakNlLGlCQUFXLENBQUNPLElBQVosQ0FBaUJKLEdBQWpCO0FBQ0g7QUFDSixHQVhEO0FBYUEsU0FBT0gsV0FBUDtBQUNIO0FBRUQ7Ozs7Ozs7O0FBTU8sU0FBU1EsZ0JBQVQsQ0FBMEJqQyxHQUExQixFQUErQmtCLEtBQS9CLEVBQXNDO0FBQ3pDLFFBQU1PLFdBQVcsR0FBR25CLG9CQUFvQixFQUF4QztBQUNBLFFBQU00QixnQkFBZ0IsR0FBRyxDQUFDO0FBQUVsQyxPQUFGO0FBQU9rQjtBQUFQLEdBQUQsQ0FBekI7QUFDQSxTQUFPTSxpQkFBaUIsQ0FBQ0MsV0FBRCxFQUFjUyxnQkFBZCxDQUF4QjtBQUNIO0FBRUQ7Ozs7Ozs7QUFLTyxTQUFTQyxzQkFBVCxDQUFnQ1YsV0FBaEMsRUFBNkM7QUFDaEQsUUFBTVcsT0FBTyxHQUFHLENBQUNDLEdBQUQsRUFBTUMsS0FBTixFQUFhQyxLQUFiLEtBQXVCRixHQUFHLENBQUNHLE1BQUosQ0FBWSxHQUFFRCxLQUFLLEtBQUssQ0FBVixHQUFjLEVBQWQsR0FBbUIsR0FBSSxHQUFFRCxLQUFLLENBQUN0QyxHQUFJLElBQUdzQyxLQUFLLENBQUNwQixLQUFNLEVBQWhFLENBQXZDOztBQUNBLFNBQVEsSUFBR08sV0FBVyxDQUFDZ0IsTUFBWixDQUFtQkwsT0FBbkIsRUFBNEIsRUFBNUIsQ0FBZ0MsRUFBM0M7QUFDSDtBQUVEOzs7Ozs7QUFJTyxTQUFTTSxxQkFBVCxHQUFpQztBQUNwQyxNQUFJLE9BQU96QyxNQUFQLEtBQWtCLFdBQXRCLEVBQW1DO0FBQy9CLFdBQU8sRUFBUDtBQUNIOztBQUVELFFBQU07QUFBRUg7QUFBRixNQUFXRyxNQUFNLENBQUNKLFFBQXhCO0FBQ0EsUUFBTVUsS0FBSyxHQUFHVCxJQUFJLENBQUNVLEtBQUwsQ0FBVyxHQUFYLENBQWQ7QUFDQSxRQUFNQyxPQUFPLEdBQUdGLEtBQUssQ0FBQ0csTUFBTixLQUFpQixDQUFqQztBQUNBLFFBQU1DLE1BQU0sR0FBR2IsSUFBSSxDQUFDVSxLQUFMLENBQVcsR0FBWCxFQUFnQixDQUFoQixLQUFzQixFQUFyQztBQUVBLFNBQU9DLE9BQU8sR0FBR0UsTUFBSCxHQUFZLEVBQTFCO0FBQ0giLCJmaWxlIjoiLi9zcmMvdXJsLXV0aWxzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0VG9wV2luZG93IH0gZnJvbSAnLi9kb20tdXRpbHMnO1xuXG4vLyBBIHJlZ2V4IGZvciBleHRyYWN0aW5nIGhvc3RuYW1lLlxuLy8gZXhhbXBsZTogaHR0cDovL3d3dy5wbGF5YnV6ei5jb20vY3JlYXRlID0+IHd3dy5wbGF5YnV6ei5jb20uXG5jb25zdCBIT1NUTkFNRV9SRUdFWCA9IC9eKD86aHR0cHM/OlxcL1xcLyk/KD86W15AXFxuXStAKT8oPzp3d3dcXC4pPyhbXjovXFxuPz1dKykvaW07XG5cbi8vIEEgcmVnZXggZm9yIGV4dHJhY3RpbmcgZG9tYWluLlxuLy8gZXhhbXBsZTogd3d3LnBsYXlidXp6LmNvbSA9PiBwbGF5YnV6ei5jb20uXG5jb25zdCBET01BSU5fUkVHRVggPSAvXih3d3cuKSguKikkLztcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIHNwZWNpZmllZCBzdHJpbmcgaXMgYSB2YWxpZCB1cmwuXG4gKiBpLmUuIHN0YXJ0cyB3aXRoIGh0dHA6IGh0dHBzOlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSB1cmxcbiAqIEByZXR1cm5zIHtCb29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNVcmwodXJsKSB7XG4gICAgcmV0dXJuIC9eKGh0dHBzPzp8ZnRwKS9pLnRlc3QodXJsKTtcbn1cblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHRoYXQgZXh0cmFjdHMgaG9zdG5hbWUgZnJvbSBhIGdpdmVuIHVybC5cbiAqIEBzZWU6IGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0ODE4MDIwL2phdmFzY3JpcHQtcmVnZXgtdXJsLWV4dHJhY3QtZG9tYWluLW9ubHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RIb3N0bmFtZSh1cmwpIHtcbiAgICBpZiAoIWlzVXJsKHVybCkpIHtcbiAgICAgICAgcmV0dXJuIHVybDtcbiAgICB9XG5cbiAgICBsZXQgcmVzdWx0O1xuICAgIGxldCBtYXRjaCA9IHVybC5tYXRjaChIT1NUTkFNRV9SRUdFWCk7XG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICAgIFssIHJlc3VsdF0gPSBtYXRjaDtcbiAgICAgICAgbWF0Y2ggPSByZXN1bHQubWF0Y2goRE9NQUlOX1JFR0VYKTtcbiAgICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgICAgICBbLCByZXN1bHRdID0gbWF0Y2g7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgdG9wIGxldmVsIHdpbmRvdyB1cmwuXG4gKiBAcmV0dXJucyB7c3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VG9wVXJsKCkge1xuICAgIGNvbnN0IHdpbiA9IGdldFRvcFdpbmRvdygpO1xuICAgIHJldHVybiB3aW4ubG9jYXRpb24uaHJlZjtcbn1cblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgdmFsdWUgb2YgYSBnaXZlbiBrZXkgZnJvbSB0aGUgcXVlcnkgc3RyaW5nLlxuICogQHBhcmFtICB7U3RyaW5nfSBrZXkgVGhlIGtleSB0byBnZXQgdGhlIHZhbHVlIG9mXG4gKiBAcmV0dXJuIHtTdHJpbmd9IFRoZSB2YWx1ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UXVlcnlTdHJpbmdWYWx1ZShrZXkpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgeyBocmVmIH0gPSB3aW5kb3cubG9jYXRpb247XG4gICAgY29uc3QgcmVnID0gbmV3IFJlZ0V4cChgWz8mXSR7a2V5fT0oW14mI10qKWAsICdpJyk7XG4gICAgY29uc3Qgc3RyaW5nID0gcmVnLmV4ZWMoaHJlZik7XG4gICAgcmV0dXJuIHN0cmluZyA/IHN0cmluZ1sxXSA6IG51bGw7XG59XG5cbi8qKlxuICogQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgb2JqZWN0IG9mIGtleS12YWx1ZSBwYWlycyBvZiBxdWVyeSBwYXJhbWV0ZXJzLlxuICogQHJldHVybiB7T2JqZWN0fSBxdWVyeSBzdHJpbmcga2V5LXZhbHVlIHBhaXJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRRdWVyeVBhcmFtc09iamVjdCgpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIGNvbnN0IHsgaHJlZiB9ID0gd2luZG93LmxvY2F0aW9uO1xuICAgIGNvbnN0IHBhcnRzID0gaHJlZi5zcGxpdCgnPycpO1xuICAgIGNvbnN0IGlzVmFsaWQgPSBwYXJ0cy5sZW5ndGggPT09IDI7XG4gICAgY29uc3Qgc2VhcmNoID0gaHJlZi5zcGxpdCgnPycpWzFdO1xuXG4gICAgaWYgKGlzVmFsaWQgJiYgc2VhcmNoICYmIHNlYXJjaC5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgcXVlcnlTdHJpbmcgPSBkZWNvZGVVUklDb21wb25lbnQoc2VhcmNoKTtcbiAgICAgICAgaWYgKHF1ZXJ5U3RyaW5nLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgcXVlcnlQYXJhbXNQYWlycyA9IHF1ZXJ5U3RyaW5nLnNwbGl0KCcmJyk7XG4gICAgICAgICAgICByZXR1cm4gcXVlcnlQYXJhbXNQYWlycy5tYXAocCA9PiAoe1xuICAgICAgICAgICAgICAgIGtleTogcC5zcGxpdCgnPScpWzBdLnJlcGxhY2UoJz8nLCAnJyksXG4gICAgICAgICAgICAgICAgdmFsdWU6IHAuc3BsaXQoJz0nKVsxXVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbXTtcbn1cblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgdmFsdWUvdmFsdWVzIG9mIGEgZ2l2ZW4ga2V5IGZyb20gdGhlIHF1ZXJ5IHN0cmluZy5cbiAqIEBwYXJhbSAge1N0cmluZ30ga2V5IFRoZSBrZXkgdG8gZ2V0IHRoZSB2YWx1ZSBvZlxuICogQHJldHVybiB7QXJyYXl9IHZhbHVlcyBhc3NvY2lhdGVkIHdpdGggdGhlIGtleVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0UGFyYW1WYWx1ZUJ5S2V5KGtleSkge1xuICAgIGNvbnN0IHBhcmFtcyA9IGdldFF1ZXJ5UGFyYW1zT2JqZWN0KCk7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1JbmRleCA9IHBhcmFtcy5maW5kSW5kZXgoc3YgPT4gc3Yua2V5ID09PSBrZXkpO1xuICAgIHJldHVybiBzZWFyY2hQYXJhbUluZGV4ICE9PSAtMSA/IHBhcmFtc1tzZWFyY2hQYXJhbUluZGV4XS52YWx1ZS5zcGxpdCgnLCcpIDogbnVsbDtcbn1cblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHRoYXQgYWRkcy91cGRhdGVzIHF1ZXJ5IHBhcmFtcy5cbiAqIEBwYXJhbSAgcXVlcnlQYXJhbXMge09iamVjdH0gY3VycmVudCBrZXktdmFsdWUgcGFpcnNcbiAqIEBwYXJhbSAgbmV3UGFyYW1zIHtPYmplY3R9IGtleS12YWx1ZSBwYWlycyB0byBhZGQvdXBkYXRlXG4gKiBAcmV0dXJuIHtPYmplY3R9IHVwZGF0ZWQgcXVlcnkgcGFyYW1zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cHNlcnRRdWVyeVBhcmFtcyhxdWVyeVBhcmFtcywgbmV3UGFyYW1zKSB7XG4gICAgbmV3UGFyYW1zLmZvckVhY2goKG5xcCkgPT4ge1xuICAgICAgICBjb25zdCBleGlzdGluZ0luZGV4ID0gcXVlcnlQYXJhbXMuZmluZEluZGV4KHFwID0+IHFwLmtleSA9PT0gbnFwLmtleSk7XG4gICAgICAgIGlmIChleGlzdGluZ0luZGV4ICE9PSAtMSkgeyAvLyBleGlzdHMgaW4gdXJsXG4gICAgICAgICAgICBpZiAobnFwLnZhbHVlLmxlbmd0aCA9PT0gMCkgeyAvLyBpZiBmaWx0ZXIgd2FzIHJlbW92ZWRcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtcy5zcGxpY2UoZXhpc3RpbmdJbmRleCwgMSk7XG4gICAgICAgICAgICB9IGVsc2UgeyAvLyB1cGRhdGUgdmFsdWVcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtc1tleGlzdGluZ0luZGV4XS52YWx1ZSA9IG5xcC52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChucXAudmFsdWUubGVuZ3RoICE9PSAwKSB7IC8vIHZhbHVlIGlzIG5vdCBlbXB0eSBhbmQgZGlkIG5vdCBleGlzdHMgaW4gdXJsXG4gICAgICAgICAgICBxdWVyeVBhcmFtcy5wdXNoKG5xcCk7XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBxdWVyeVBhcmFtcztcbn1cblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHRoYXQgYWRkcy91cGRhdGVzIGEgc2luZ2xlIHF1ZXJ5IHBhcmFtLlxuICogQHBhcmFtICBrZXkge09iamVjdH0ga2V5IHRvIGFkZC91cGRhdGVcbiAqIEBwYXJhbSAgdmFsdWUge09iamVjdH0gdmFsdWUgdG8gc2V0XG4gKiBAcmV0dXJuIHtPYmplY3R9IHVwZGF0ZWQgcXVlcnkgcGFyYW1zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1cHNlcnRRdWVyeVBhcmFtKGtleSwgdmFsdWUpIHtcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IGdldFF1ZXJ5UGFyYW1zT2JqZWN0KCk7XG4gICAgY29uc3QgbmV3UXVlcnlQYXJhbU9iaiA9IFt7IGtleSwgdmFsdWUgfV07XG4gICAgcmV0dXJuIHVwc2VydFF1ZXJ5UGFyYW1zKHF1ZXJ5UGFyYW1zLCBuZXdRdWVyeVBhcmFtT2JqKTtcbn1cblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHRoYXQgY3JlYXRlcyBhIGZvcm1hdHRlZCBxdWVyeSBzdHJpbmcgZnJvbSBxdWVyeSBwYXJhbXMga2V5LXZhbHVlIHBhaXJzIG9iamVjdC5cbiAqIEBwYXJhbSAgcXVlcnlQYXJhbXMge09iamVjdH0gcXVlcnkgcGFyYW1zIGtleS12YWx1ZSBwYWlyc1xuICogQHJldHVybiB7U3RyaW5nfSBzZWFyY2ggc3RyaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVVybFF1ZXJ5U3RyaW5nKHF1ZXJ5UGFyYW1zKSB7XG4gICAgY29uc3QgcmVkdWNlciA9IChzdHIsIHBhcmFtLCBpbmRleCkgPT4gc3RyLmNvbmNhdChgJHtpbmRleCA9PT0gMCA/ICcnIDogJyYnfSR7cGFyYW0ua2V5fT0ke3BhcmFtLnZhbHVlfWApO1xuICAgIHJldHVybiBgPyR7cXVlcnlQYXJhbXMucmVkdWNlKHJlZHVjZXIsICcnKX1gO1xufVxuXG4vKipcbiAqIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBjdXJyZW50IHNlYXJjaCBzdHJpbmcgZnJvbSB0aGUgdXJsLlxuICogQHJldHVybiB7U3RyaW5nfSBzZWFyY2ggc3RyaW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDdXJyZW50UXVlcnlTdHJpbmcoKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCB7IGhyZWYgfSA9IHdpbmRvdy5sb2NhdGlvbjtcbiAgICBjb25zdCBwYXJ0cyA9IGhyZWYuc3BsaXQoJz8nKTtcbiAgICBjb25zdCBpc1ZhbGlkID0gcGFydHMubGVuZ3RoID09PSAyO1xuICAgIGNvbnN0IHNlYXJjaCA9IGhyZWYuc3BsaXQoJz8nKVsxXSB8fCAnJztcblxuICAgIHJldHVybiBpc1ZhbGlkID8gc2VhcmNoIDogJyc7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./src/url-utils.js\\n\");\n\n/***/ }),\n\n/***/ \"./src/utils.js\":\n/*!**********************!*\\\n !*** ./src/utils.js ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n value: true\\n});\\nexports.throttle = throttle;\\nexports.debounce = debounce;\\nexports.entries = entries;\\nexports.isEmptyObject = void 0;\\n\\n/**\\n * A function to throttling events with a provided delay.\\n *\\n * @see https://remysharp.com/2010/07/21/throttling-function-calls/\\n * @param fn\\n * @param delay\\n * @returns {Function}\\n */\\nfunction throttle(fn, delay) {\\n let last;\\n let timer;\\n return function throttleInner(...args) {\\n const now = Date.now();\\n\\n if (last && now < last + delay) {\\n clearTimeout(timer);\\n timer = setTimeout(() => {\\n last = now;\\n fn(...args);\\n }, last + delay - now);\\n } else {\\n last = now;\\n fn(...args);\\n }\\n };\\n}\\n/**\\n * A function to debouce events with a provided delay.\\n *\\n * @see https://remysharp.com/2010/07/21/throttling-function-calls/\\n * @param fn\\n * @param delay\\n * @returns {Function}\\n */\\n\\n\\nfunction debounce(fn, delay) {\\n let timer = null;\\n return function debounceInner(...args) {\\n const context = this;\\n clearTimeout(timer);\\n timer = setTimeout(() => {\\n fn.apply(context, args);\\n }, delay);\\n };\\n}\\n\\nfunction entries(object) {\\n return Object.keys(object).map(key => [key, object[key]]);\\n}\\n\\nconst isEmptyObject = obj => {\\n if (obj === null || typeof obj !== 'object') {\\n return true;\\n }\\n\\n return Object.getOwnPropertyNames(obj).length === 0;\\n};\\n\\nexports.isEmptyObject = isEmptyObject;//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvdXRpbHMuanM/MDI1ZSJdLCJuYW1lcyI6WyJ0aHJvdHRsZSIsImZuIiwiZGVsYXkiLCJsYXN0IiwidGltZXIiLCJ0aHJvdHRsZUlubmVyIiwiYXJncyIsIm5vdyIsIkRhdGUiLCJjbGVhclRpbWVvdXQiLCJzZXRUaW1lb3V0IiwiZGVib3VuY2UiLCJkZWJvdW5jZUlubmVyIiwiY29udGV4dCIsImFwcGx5IiwiZW50cmllcyIsIm9iamVjdCIsIk9iamVjdCIsImtleXMiLCJtYXAiLCJrZXkiLCJpc0VtcHR5T2JqZWN0Iiwib2JqIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImxlbmd0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBOzs7Ozs7OztBQVFPLFNBQVNBLFFBQVQsQ0FBa0JDLEVBQWxCLEVBQXNCQyxLQUF0QixFQUE2QjtBQUNoQyxNQUFJQyxJQUFKO0FBQ0EsTUFBSUMsS0FBSjtBQUVBLFNBQU8sU0FBU0MsYUFBVCxDQUF1QixHQUFHQyxJQUExQixFQUFnQztBQUNuQyxVQUFNQyxHQUFHLEdBQUdDLElBQUksQ0FBQ0QsR0FBTCxFQUFaOztBQUVBLFFBQUlKLElBQUksSUFBSUksR0FBRyxHQUFHSixJQUFJLEdBQUdELEtBQXpCLEVBQWdDO0FBQzVCTyxrQkFBWSxDQUFDTCxLQUFELENBQVo7QUFDQUEsV0FBSyxHQUFHTSxVQUFVLENBQUMsTUFBTTtBQUNyQlAsWUFBSSxHQUFHSSxHQUFQO0FBQ0FOLFVBQUUsQ0FBQyxHQUFHSyxJQUFKLENBQUY7QUFDSCxPQUhpQixFQUdkSCxJQUFJLEdBQUdELEtBQVIsR0FBaUJLLEdBSEYsQ0FBbEI7QUFJSCxLQU5ELE1BTU87QUFDSEosVUFBSSxHQUFHSSxHQUFQO0FBQ0FOLFFBQUUsQ0FBQyxHQUFHSyxJQUFKLENBQUY7QUFDSDtBQUNKLEdBYkQ7QUFjSDtBQUVEOzs7Ozs7Ozs7O0FBUU8sU0FBU0ssUUFBVCxDQUFrQlYsRUFBbEIsRUFBc0JDLEtBQXRCLEVBQTZCO0FBQ2hDLE1BQUlFLEtBQUssR0FBRyxJQUFaO0FBQ0EsU0FBTyxTQUFTUSxhQUFULENBQXVCLEdBQUdOLElBQTFCLEVBQWdDO0FBQ25DLFVBQU1PLE9BQU8sR0FBRyxJQUFoQjtBQUNBSixnQkFBWSxDQUFDTCxLQUFELENBQVo7QUFDQUEsU0FBSyxHQUFHTSxVQUFVLENBQUMsTUFBTTtBQUNyQlQsUUFBRSxDQUFDYSxLQUFILENBQVNELE9BQVQsRUFBa0JQLElBQWxCO0FBQ0gsS0FGaUIsRUFFZkosS0FGZSxDQUFsQjtBQUdILEdBTkQ7QUFPSDs7QUFFTSxTQUFTYSxPQUFULENBQWlCQyxNQUFqQixFQUF5QjtBQUM1QixTQUFPQyxNQUFNLENBQUNDLElBQVAsQ0FBWUYsTUFBWixFQUFvQkcsR0FBcEIsQ0FBd0JDLEdBQUcsSUFBSSxDQUFDQSxHQUFELEVBQU1KLE1BQU0sQ0FBQ0ksR0FBRCxDQUFaLENBQS9CLENBQVA7QUFDSDs7QUFFTSxNQUFNQyxhQUFhLEdBQUlDLEdBQUQsSUFBUztBQUNsQyxNQUFJQSxHQUFHLEtBQUssSUFBUixJQUFnQixPQUFPQSxHQUFQLEtBQWUsUUFBbkMsRUFBNkM7QUFDekMsV0FBTyxJQUFQO0FBQ0g7O0FBRUQsU0FBT0wsTUFBTSxDQUFDTSxtQkFBUCxDQUEyQkQsR0FBM0IsRUFBZ0NFLE1BQWhDLEtBQTJDLENBQWxEO0FBQ0gsQ0FOTSIsImZpbGUiOiIuL3NyYy91dGlscy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBmdW5jdGlvbiB0byB0aHJvdHRsaW5nIGV2ZW50cyB3aXRoIGEgcHJvdmlkZWQgZGVsYXkuXG4gKlxuICogQHNlZSBodHRwczovL3JlbXlzaGFycC5jb20vMjAxMC8wNy8yMS90aHJvdHRsaW5nLWZ1bmN0aW9uLWNhbGxzL1xuICogQHBhcmFtIGZuXG4gKiBAcGFyYW0gZGVsYXlcbiAqIEByZXR1cm5zIHtGdW5jdGlvbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRocm90dGxlKGZuLCBkZWxheSkge1xuICAgIGxldCBsYXN0O1xuICAgIGxldCB0aW1lcjtcblxuICAgIHJldHVybiBmdW5jdGlvbiB0aHJvdHRsZUlubmVyKC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcblxuICAgICAgICBpZiAobGFzdCAmJiBub3cgPCBsYXN0ICsgZGVsYXkpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgICAgICAgICB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGxhc3QgPSBub3c7XG4gICAgICAgICAgICAgICAgZm4oLi4uYXJncyk7XG4gICAgICAgICAgICB9LCAobGFzdCArIGRlbGF5KSAtIG5vdyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsYXN0ID0gbm93O1xuICAgICAgICAgICAgZm4oLi4uYXJncyk7XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG4vKipcbiAqIEEgZnVuY3Rpb24gdG8gZGVib3VjZSBldmVudHMgd2l0aCBhIHByb3ZpZGVkIGRlbGF5LlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9yZW15c2hhcnAuY29tLzIwMTAvMDcvMjEvdGhyb3R0bGluZy1mdW5jdGlvbi1jYWxscy9cbiAqIEBwYXJhbSBmblxuICogQHBhcmFtIGRlbGF5XG4gKiBAcmV0dXJucyB7RnVuY3Rpb259XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWJvdW5jZShmbiwgZGVsYXkpIHtcbiAgICBsZXQgdGltZXIgPSBudWxsO1xuICAgIHJldHVybiBmdW5jdGlvbiBkZWJvdW5jZUlubmVyKC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXM7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgICAgIHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBmbi5hcHBseShjb250ZXh0LCBhcmdzKTtcbiAgICAgICAgfSwgZGVsYXkpO1xuICAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnRyaWVzKG9iamVjdCkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhvYmplY3QpLm1hcChrZXkgPT4gW2tleSwgb2JqZWN0W2tleV1dKTtcbn1cblxuZXhwb3J0IGNvbnN0IGlzRW1wdHlPYmplY3QgPSAob2JqKSA9PiB7XG4gICAgaWYgKG9iaiA9PT0gbnVsbCB8fCB0eXBlb2Ygb2JqICE9PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqKS5sZW5ndGggPT09IDA7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./src/utils.js\\n\");\n\n/***/ })\n\n/******/ });\n});\n\n//# sourceURL=webpack:///./node_modules/@playbuzz/client-utils/dist/bundle.development.js?"); /***/ }), /***/ "./node_modules/@playbuzz/client-utils/index.js": /*!******************************************************!*\ !*** ./node_modules/@playbuzz/client-utils/index.js ***! \******************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./dist/bundle.development.js */ \"./node_modules/@playbuzz/client-utils/dist/bundle.development.js\");\n}\n\n\n//# sourceURL=webpack:///./node_modules/@playbuzz/client-utils/index.js?"); /***/ }), /***/ "./node_modules/@playbuzz/guid-generator/dist/bundle.development.js": /*!**************************************************************************!*\ !*** ./node_modules/@playbuzz/guid-generator/dist/bundle.development.js ***! \**************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse { var i, a; }\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n !*** ./src/index.js ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n value: true\\n});\\nexports.default = generateGuid;\\n\\n/* eslint-disable no-bitwise */\\n\\n/* eslint-disable no-mixed-operators */\\n\\n/**\\n * Based on https://gist.github.com/jed/982883.\\n * @param a\\n * @returns {String}\\n */\\nfunction generateGuidRecursive(a) {\\n return a // if the placeholder was passed, return\\n ? ( // a random number from 0 to 15\\n a // unless b is 8,\\n ^ Math.random() // in which case\\n * 16 // a random number from\\n >> a / 4 // 8 to 11\\n ).toString(16) // in hexadecimal\\n : ( // or otherwise a concatenated string:\\n [1e7] // 10000000 +\\n + -1e3 // -1000 +\\n + -4e3 // -4000 +\\n + -8e3 // -80000000 +\\n + -1e11 // -100000000000,\\n ).replace( // replacing\\n /[018]/g, // zeroes, ones, and eights with\\n generateGuidRecursive // random hex digits\\n );\\n}\\n/**\\n * A function generates a new GUID.\\n * @returns {String}\\n */\\n\\n\\nfunction generateGuid() {\\n return generateGuidRecursive(false);\\n}//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvaW5kZXguanM/YjYzNSJdLCJuYW1lcyI6WyJnZW5lcmF0ZUd1aWRSZWN1cnNpdmUiLCJhIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwicmVwbGFjZSIsImdlbmVyYXRlR3VpZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUVBOzs7OztBQUtBLFNBQVNBLHFCQUFULENBQStCQyxDQUEvQixFQUFrQztBQUM5QixTQUFPQSxDQUFDLENBQUM7QUFBRCxJQUNGLEVBQUU7QUFDQUEsR0FBQyxDQUFDO0FBQUQsSUFDQ0MsSUFBSSxDQUFDQyxNQUFMLEdBQWM7QUFBZCxJQUNBLEVBREEsQ0FDRztBQURILEtBRUNGLENBQUMsR0FBRyxDQUpULENBSVc7QUFKWCxJQUtBRyxRQUxBLENBS1MsRUFMVCxDQURFLENBTVc7QUFOWCxJQU9GLEVBQUU7QUFDQSxHQUFDLEdBQUQsRUFBTTtBQUFOLElBQ0UsQ0FBQyxHQURILENBQ087QUFEUCxJQUVFLENBQUMsR0FGSCxDQUVPO0FBRlAsSUFHRSxDQUFDLEdBSEgsQ0FHTztBQUhQLElBSUUsQ0FBQyxJQUxMLENBS1U7QUFMVixJQU1BQyxPQU5BLEVBTVM7QUFDUCxVQVBGLEVBT1k7QUFDVkwsdUJBUkYsQ0FRd0I7QUFSeEIsR0FQTjtBQWlCSDtBQUVEOzs7Ozs7QUFJZSxTQUFTTSxZQUFULEdBQXdCO0FBQ25DLFNBQU9OLHFCQUFxQixDQUFDLEtBQUQsQ0FBNUI7QUFDSCIsImZpbGUiOiIuL3NyYy9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWJpdHdpc2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLW1peGVkLW9wZXJhdG9ycyAqL1xuXG4vKipcbiAqIEJhc2VkIG9uIGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2plZC85ODI4ODMuXG4gKiBAcGFyYW0gYVxuICogQHJldHVybnMge1N0cmluZ31cbiAqL1xuZnVuY3Rpb24gZ2VuZXJhdGVHdWlkUmVjdXJzaXZlKGEpIHtcbiAgICByZXR1cm4gYSAvLyBpZiB0aGUgcGxhY2Vob2xkZXIgd2FzIHBhc3NlZCwgcmV0dXJuXG4gICAgICAgID8gKCAvLyBhIHJhbmRvbSBudW1iZXIgZnJvbSAwIHRvIDE1XG4gICAgICAgICAgICBhIC8vIHVubGVzcyBiIGlzIDgsXG4gICAgICAgICAgICBeIE1hdGgucmFuZG9tKCkgLy8gaW4gd2hpY2ggY2FzZVxuICAgICAgICAgICAgKiAxNiAvLyBhIHJhbmRvbSBudW1iZXIgZnJvbVxuICAgICAgICAgICAgPj4gYSAvIDQgLy8gOCB0byAxMVxuICAgICAgICApLnRvU3RyaW5nKDE2KSAvLyBpbiBoZXhhZGVjaW1hbFxuICAgICAgICA6ICggLy8gb3Igb3RoZXJ3aXNlIGEgY29uY2F0ZW5hdGVkIHN0cmluZzpcbiAgICAgICAgICAgIFsxZTddIC8vIDEwMDAwMDAwICtcbiAgICAgICAgICAgICsgLTFlMyAvLyAtMTAwMCArXG4gICAgICAgICAgICArIC00ZTMgLy8gLTQwMDAgK1xuICAgICAgICAgICAgKyAtOGUzIC8vIC04MDAwMDAwMCArXG4gICAgICAgICAgICArIC0xZTExIC8vIC0xMDAwMDAwMDAwMDAsXG4gICAgICAgICkucmVwbGFjZSggLy8gcmVwbGFjaW5nXG4gICAgICAgICAgICAvWzAxOF0vZywgLy8gemVyb2VzLCBvbmVzLCBhbmQgZWlnaHRzIHdpdGhcbiAgICAgICAgICAgIGdlbmVyYXRlR3VpZFJlY3Vyc2l2ZSAvLyByYW5kb20gaGV4IGRpZ2l0c1xuICAgICAgICApO1xufVxuXG4vKipcbiAqIEEgZnVuY3Rpb24gZ2VuZXJhdGVzIGEgbmV3IEdVSUQuXG4gKiBAcmV0dXJucyB7U3RyaW5nfVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZW5lcmF0ZUd1aWQoKSB7XG4gICAgcmV0dXJuIGdlbmVyYXRlR3VpZFJlY3Vyc2l2ZShmYWxzZSk7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./src/index.js\\n\");\n\n/***/ })\n\n/******/ });\n});\n\n//# sourceURL=webpack:///./node_modules/@playbuzz/guid-generator/dist/bundle.development.js?"); /***/ }), /***/ "./node_modules/@playbuzz/guid-generator/index.js": /*!********************************************************!*\ !*** ./node_modules/@playbuzz/guid-generator/index.js ***! \********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./dist/bundle.development.js */ \"./node_modules/@playbuzz/guid-generator/dist/bundle.development.js\");\n}\n\n\n//# sourceURL=webpack:///./node_modules/@playbuzz/guid-generator/index.js?"); /***/ }), /***/ "./node_modules/@playbuzz/page-identifier/dist/bundle.development.js": /*!***************************************************************************!*\ !*** ./node_modules/@playbuzz/page-identifier/dist/bundle.development.js ***! \***************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse { var i, a; }\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n !*** ./src/index.js ***!\n \\**********************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n value: true\\n});\\nObject.defineProperty(exports, \\\"getPageIdentifier\\\", {\\n enumerable: true,\\n get: function () {\\n return _pageIdentifier.getPageIdentifier;\\n }\\n});\\n\\nvar _pageIdentifier = __webpack_require__(/*! ./page-identifier */ \\\"./src/page-identifier.js\\\");//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvaW5kZXguanM/YjYzNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSIsImZpbGUiOiIuL3NyYy9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGdldFBhZ2VJZGVudGlmaWVyIH0gZnJvbSAnLi9wYWdlLWlkZW50aWZpZXInO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./src/index.js\\n\");\n\n/***/ }),\n\n/***/ \"./src/page-identifier.js\":\n/*!********************************!*\\\n !*** ./src/page-identifier.js ***!\n \\********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n value: true\\n});\\nexports.getPageIdentifier = getPageIdentifier;\\n\\nfunction getPageIdentifier() {\\n // plbzPid - when served from monolith\\n // pbPageIdentifier - when served from embed service\\n const pageId = window.plbzPid || window.pbPageIdentifier;\\n\\n if (!pageId) {\\n throw new Error('Page id is empty');\\n }\\n\\n return pageId;\\n}//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zcmMvcGFnZS1pZGVudGlmaWVyLmpzP2I0OTgiXSwibmFtZXMiOlsiZ2V0UGFnZUlkZW50aWZpZXIiLCJwYWdlSWQiLCJ3aW5kb3ciLCJwbGJ6UGlkIiwicGJQYWdlSWRlbnRpZmllciIsIkVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQU8sU0FBU0EsaUJBQVQsR0FBNkI7QUFDaEM7QUFDQTtBQUNBLFFBQU1DLE1BQU0sR0FBR0MsTUFBTSxDQUFDQyxPQUFQLElBQWtCRCxNQUFNLENBQUNFLGdCQUF4Qzs7QUFFQSxNQUFJLENBQUNILE1BQUwsRUFBYTtBQUNULFVBQU0sSUFBSUksS0FBSixDQUFVLGtCQUFWLENBQU47QUFDSDs7QUFFRCxTQUFPSixNQUFQO0FBQ0giLCJmaWxlIjoiLi9zcmMvcGFnZS1pZGVudGlmaWVyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGdldFBhZ2VJZGVudGlmaWVyKCkge1xuICAgIC8vIHBsYnpQaWQgLSB3aGVuIHNlcnZlZCBmcm9tIG1vbm9saXRoXG4gICAgLy8gcGJQYWdlSWRlbnRpZmllciAtIHdoZW4gc2VydmVkIGZyb20gZW1iZWQgc2VydmljZVxuICAgIGNvbnN0IHBhZ2VJZCA9IHdpbmRvdy5wbGJ6UGlkIHx8IHdpbmRvdy5wYlBhZ2VJZGVudGlmaWVyO1xuXG4gICAgaWYgKCFwYWdlSWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQYWdlIGlkIGlzIGVtcHR5Jyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhZ2VJZDtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./src/page-identifier.js\\n\");\n\n/***/ })\n\n/******/ });\n});\n\n//# sourceURL=webpack:///./node_modules/@playbuzz/page-identifier/dist/bundle.development.js?"); /***/ }), /***/ "./node_modules/@playbuzz/page-identifier/index.js": /*!*********************************************************!*\ !*** ./node_modules/@playbuzz/page-identifier/index.js ***! \*********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nif (false) {} else {\n module.exports = __webpack_require__(/*! ./dist/bundle.development.js */ \"./node_modules/@playbuzz/page-identifier/dist/bundle.development.js\");\n}\n\n\n//# sourceURL=webpack:///./node_modules/@playbuzz/page-identifier/index.js?"); /***/ }), /***/ "./node_modules/pb-client-modules/src/analytics-reporter/analytics-utils.js": /*!**********************************************************************************!*\ !*** ./node_modules/pb-client-modules/src/analytics-reporter/analytics-utils.js ***! \**********************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.deltaTimeForAnalytics = deltaTimeForAnalytics;\n\nvar _timer = __webpack_require__(/*! ../timer */ \"./node_modules/pb-client-modules/src/timer/index.js\");\n\nfunction deltaTimeForAnalytics() {\n return _timer.Timer.deltaFromDomLoadedInSeconds();\n}\n\n//# sourceURL=webpack:///./node_modules/pb-client-modules/src/analytics-reporter/analytics-utils.js?"); /***/ }), /***/ "./node_modules/pb-client-modules/src/timer/index.js": /*!***********************************************************!*\ !*** ./node_modules/pb-client-modules/src/timer/index.js ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"Timer\", {\n enumerable: true,\n get: function get() {\n return _timer.Timer;\n }\n});\n\nvar _timer = __webpack_require__(/*! ./timer */ \"./node_modules/pb-client-modules/src/timer/timer.js\");\n\n//# sourceURL=webpack:///./node_modules/pb-client-modules/src/timer/index.js?"); /***/ }), /***/ "./node_modules/pb-client-modules/src/timer/timer.js": /*!***********************************************************!*\ !*** ./node_modules/pb-client-modules/src/timer/timer.js ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Timer = void 0;\n\nvar _utils = __webpack_require__(/*! ../utils */ \"./node_modules/pb-client-modules/src/utils/index.js\");\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar Timer = /*#__PURE__*/function () {\n function Timer() {\n _classCallCheck(this, Timer);\n }\n\n _createClass(Timer, [{\n key: \"start\",\n value: function start() {\n this.startTime = window.performance.now();\n }\n }, {\n key: \"delta\",\n value: function delta() {\n return window.performance.now() - this.startTime;\n }\n }], [{\n key: \"deltaFromDomLoaded\",\n value: function deltaFromDomLoaded() {\n var win = (0, _utils.getTopWindow)();\n return win.performance.now();\n }\n }, {\n key: \"deltaFromDomLoadedInSeconds\",\n value: function deltaFromDomLoadedInSeconds() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$precision = _ref.precision,\n precision = _ref$precision === void 0 ? 2 : _ref$precision;\n\n return (Timer.deltaFromDomLoaded() / 1000).toFixed(precision);\n }\n }]);\n\n return Timer;\n}();\n\nexports.Timer = Timer;\n\n//# sourceURL=webpack:///./node_modules/pb-client-modules/src/timer/timer.js?"); /***/ }), /***/ "./node_modules/pb-client-modules/src/utils/dom-utils.js": /*!***************************************************************!*\ !*** ./node_modules/pb-client-modules/src/utils/dom-utils.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("/* WEBPACK VAR INJECTION */(function(Promise) {\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getTopWindow = getTopWindow;\nexports.copyToClipboard = copyToClipboard;\nexports.findAncestor = findAncestor;\n\nfunction getTopWindow() {\n var win = window;\n\n while (win.frameElement) {\n win = win.parent;\n }\n\n return win;\n}\n\nfunction copyToClipboard(text) {\n return new Promise(function (resolve, reject) {\n // create element\n var elem = document.createElement('textarea');\n elem.style.opacity = '0';\n elem.style.border = '0';\n elem.style.margin = '0';\n elem.style.padding = '0';\n elem.style.width = '1px';\n elem.style.height = '1px';\n\n try {\n // insert the text\n elem.value = text; // do the copy\n\n document.body.appendChild(elem);\n elem.select();\n document.execCommand('copy'); // clean\n\n elem.parentNode.removeChild(elem); // resolve\n\n resolve(text);\n } catch (err) {\n reject(err);\n }\n });\n}\n/**\n * Finds the first parent of an element that matches a given selector, if not found returns null\n * @param element\n * @param {string} selector\n * @returns {element | null}\n */\n\n\nfunction findAncestor(element, selector) {\n if (element.closest) {\n return element.closest(selector);\n }\n\n var currentElement = element;\n\n while (currentElement) {\n if (currentElement.matches(selector)) {\n return currentElement;\n }\n\n currentElement = currentElement.parentElement;\n }\n\n return null;\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! promise-polyfill */ \"./node_modules/promise-polyfill/src/index.js\")[\"default\"]))\n\n//# sourceURL=webpack:///./node_modules/pb-client-modules/src/utils/dom-utils.js?"); /***/ }), /***/ "./node_modules/pb-client-modules/src/utils/index.js": /*!***********************************************************!*\ !*** ./node_modules/pb-client-modules/src/utils/index.js ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _utils = __webpack_require__(/*! ./utils */ \"./node_modules/pb-client-modules/src/utils/utils.js\");\n\nObject.keys(_utils).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _utils[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _utils[key];\n }\n });\n});\n\nvar _domUtils = __webpack_require__(/*! ./dom-utils */ \"./node_modules/pb-client-modules/src/utils/dom-utils.js\");\n\nObject.keys(_domUtils).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _domUtils[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _domUtils[key];\n }\n });\n});\n\nvar _urlUtils = __webpack_require__(/*! ./url-utils */ \"./node_modules/pb-client-modules/src/utils/url-utils.js\");\n\nObject.keys(_urlUtils).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (key in exports && exports[key] === _urlUtils[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function get() {\n return _urlUtils[key];\n }\n });\n});\n\n//# sourceURL=webpack:///./node_modules/pb-client-modules/src/utils/index.js?"); /***/ }), /***/ "./node_modules/pb-client-modules/src/utils/url-utils.js": /*!***************************************************************!*\ !*** ./node_modules/pb-client-modules/src/utils/url-utils.js ***! \***************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isUrl = isUrl;\nexports.extractHostname = extractHostname;\nexports.getTopUrl = getTopUrl;\nexports.getQueryStringValue = getQueryStringValue;\n\nvar _domUtils = __webpack_require__(/*! ./dom-utils */ \"./node_modules/pb-client-modules/src/utils/dom-utils.js\");\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n// A regex for extracting hostname.\n// example: http://www.playbuzz.com/create => www.playbuzz.com.\nvar HOSTNAME_REGEX = /^(?:https?:\\/\\/)?(?:[^@\\n]+@)?(?:www\\.)?([^:/\\n?=]+)/im; // A regex for extracting domain.\n// example: www.playbuzz.com => playbuzz.com.\n\nvar DOMAIN_REGEX = /^(www.)(.*)$/;\n/**\n * Checks if the specified string is a valid url.\n * i.e. starts with http: https:\n *\n * @param {String} url\n * @returns {Boolean}\n */\n\nfunction isUrl(url) {\n return /^(https?:|ftp)/i.test(url);\n}\n/**\n * A function that extracts hostname from a given url.\n * @see: https://stackoverflow.com/questions/34818020/javascript-regex-url-extract-domain-only\n */\n\n\nfunction extractHostname(url) {\n if (!isUrl(url)) return url;\n var result;\n var match = url.match(HOSTNAME_REGEX);\n\n if (match) {\n var _match = match;\n\n var _match2 = _slicedToArray(_match, 2);\n\n result = _match2[1];\n match = result.match(DOMAIN_REGEX);\n\n if (match) {\n var _match3 = match;\n\n var _match4 = _slicedToArray(_match3, 2);\n\n result = _match4[1];\n }\n }\n\n return result;\n}\n/**\n * A function that returns the top level window url.\n * @returns {string}\n */\n\n\nfunction getTopUrl() {\n var win = (0, _domUtils.getTopWindow)();\n return win.location.href;\n}\n/**\n * A function that returns the value of a given key from the query string.\n * @param {String} key The key to get the value of\n * @return {String} The value\n */\n\n\nfunction getQueryStringValue(key) {\n var href = window.location.href;\n var reg = new RegExp(\"[?&]\".concat(key, \"=([^&#]*)\"), 'i');\n var string = reg.exec(href);\n return string ? string[1] : null;\n}\n\n//# sourceURL=webpack:///./node_modules/pb-client-modules/src/utils/url-utils.js?"); /***/ }), /***/ "./node_modules/pb-client-modules/src/utils/utils.js": /*!***********************************************************!*\ !*** ./node_modules/pb-client-modules/src/utils/utils.js ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.throttle = throttle;\nexports.debounce = debounce;\nexports.entries = entries;\n\n/**\n * A function to throttling events with a provided delay.\n *\n * @see https://remysharp.com/2010/07/21/throttling-function-calls/\n * @param fn\n * @param delay\n * @returns {Function}\n */\nfunction throttle(fn, delay) {\n var last;\n var timer;\n return function throttleInner() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var now = Date.now();\n\n if (last && now < last + delay) {\n clearTimeout(timer);\n timer = setTimeout(function () {\n last = now;\n fn.apply(void 0, args);\n }, last + delay - now);\n } else {\n last = now;\n fn.apply(void 0, args);\n }\n };\n}\n/**\n * A function to debouce events with a provided delay.\n *\n * @see https://remysharp.com/2010/07/21/throttling-function-calls/\n * @param fn\n * @param delay\n * @returns {Function}\n */\n\n\nfunction debounce(fn, delay) {\n var timer = null;\n return function debounceInner() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var context = this;\n clearTimeout(timer);\n timer = setTimeout(function () {\n fn.apply(context, args);\n }, delay);\n };\n}\n\nfunction entries(object) {\n return Object.keys(object).map(function (key) {\n return [key, object[key]];\n });\n}\n\n//# sourceURL=webpack:///./node_modules/pb-client-modules/src/utils/utils.js?"); /***/ }), /***/ "./node_modules/process/browser.js": /*!*****************************************!*\ !*** ./node_modules/process/browser.js ***! \*****************************************/ /*! no static exports found */ /***/ (function(module, exports) { eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n//# sourceURL=webpack:///./node_modules/process/browser.js?"); /***/ }), /***/ "./node_modules/promise-polyfill/src/allSettled.js": /*!*********************************************************!*\ !*** ./node_modules/promise-polyfill/src/allSettled.js ***! \*********************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\nfunction allSettled(arr) {\n var P = this;\n return new P(function(resolve, reject) {\n if (!(arr && typeof arr.length !== 'undefined')) {\n return reject(\n new TypeError(\n typeof arr +\n ' ' +\n arr +\n ' is not iterable(cannot read property Symbol(Symbol.iterator))'\n )\n );\n }\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n function(e) {\n args[i] = { status: 'rejected', reason: e };\n if (--remaining === 0) {\n resolve(args);\n }\n }\n );\n return;\n }\n }\n args[i] = { status: 'fulfilled', value: val };\n if (--remaining === 0) {\n resolve(args);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (allSettled);\n\n\n//# sourceURL=webpack:///./node_modules/promise-polyfill/src/allSettled.js?"); /***/ }), /***/ "./node_modules/promise-polyfill/src/finally.js": /*!******************************************************!*\ !*** ./node_modules/promise-polyfill/src/finally.js ***! \******************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/**\n * @this {Promise}\n */\nfunction finallyConstructor(callback) {\n var constructor = this.constructor;\n return this.then(\n function(value) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function() {\n return value;\n });\n },\n function(reason) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function() {\n // @ts-ignore\n return constructor.reject(reason);\n });\n }\n );\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (finallyConstructor);\n\n\n//# sourceURL=webpack:///./node_modules/promise-polyfill/src/finally.js?"); /***/ }), /***/ "./node_modules/promise-polyfill/src/index.js": /*!****************************************************!*\ !*** ./node_modules/promise-polyfill/src/index.js ***! \****************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(setImmediate) {/* harmony import */ var _finally__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./finally */ \"./node_modules/promise-polyfill/src/finally.js\");\n/* harmony import */ var _allSettled__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./allSettled */ \"./node_modules/promise-polyfill/src/allSettled.js\");\n\n\n\n// Store setTimeout reference so promise-polyfill will be unaffected by\n// other code modifying setTimeout (like sinon.useFakeTimers())\nvar setTimeoutFunc = setTimeout;\n\nfunction isArray(x) {\n return Boolean(x && typeof x.length !== 'undefined');\n}\n\nfunction noop() {}\n\n// Polyfill for Function.prototype.bind\nfunction bind(fn, thisArg) {\n return function() {\n fn.apply(thisArg, arguments);\n };\n}\n\n/**\n * @constructor\n * @param {Function} fn\n */\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function') throw new TypeError('not a function');\n /** @type {!number} */\n this._state = 0;\n /** @type {!boolean} */\n this._handled = false;\n /** @type {Promise|undefined} */\n this._value = undefined;\n /** @type {!Array} */\n this._deferreds = [];\n\n doResolve(fn, this);\n}\n\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function() {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\n\nfunction resolve(self, newValue) {\n try {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\n\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\n\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function() {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\n\n/**\n * @constructor\n */\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(\n function(value) {\n if (done) return;\n done = true;\n resolve(self, value);\n },\n function(reason) {\n if (done) return;\n done = true;\n reject(self, reason);\n }\n );\n } catch (ex) {\n if (done) return;\n done = true;\n reject(self, ex);\n }\n}\n\nPromise.prototype['catch'] = function(onRejected) {\n return this.then(null, onRejected);\n};\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n // @ts-ignore\n var prom = new this.constructor(noop);\n\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\n\nPromise.prototype['finally'] = _finally__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n\nPromise.all = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.all accepts an array'));\n }\n\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n try {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n reject\n );\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.allSettled = _allSettled__WEBPACK_IMPORTED_MODULE_1__[\"default\"];\n\nPromise.resolve = function(value) {\n if (value && typeof value === 'object' && value.constructor === Promise) {\n return value;\n }\n\n return new Promise(function(resolve) {\n resolve(value);\n });\n};\n\nPromise.reject = function(value) {\n return new Promise(function(resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.race accepts an array'));\n }\n\n for (var i = 0, len = arr.length; i < len; i++) {\n Promise.resolve(arr[i]).then(resolve, reject);\n }\n });\n};\n\n// Use polyfill for setImmediate for performance gains\nPromise._immediateFn =\n // @ts-ignore\n (typeof setImmediate === 'function' &&\n function(fn) {\n // @ts-ignore\n setImmediate(fn);\n }) ||\n function(fn) {\n setTimeoutFunc(fn, 0);\n };\n\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Promise);\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../timers-browserify/main.js */ \"./node_modules/timers-browserify/main.js\").setImmediate))\n\n//# sourceURL=webpack:///./node_modules/promise-polyfill/src/index.js?"); /***/ }), /***/ "./node_modules/setimmediate/setImmediate.js": /*!***************************************************!*\ !*** ./node_modules/setimmediate/setImmediate.js ***! \***************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n }\n // Copy function arguments\n var args = new Array(arguments.length - 1);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n }\n // Store and register the task\n var task = { callback: callback, args: args };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n switch (args.length) {\n case 0:\n callback();\n break;\n case 1:\n callback(args[0]);\n break;\n case 2:\n callback(args[0], args[1]);\n break;\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n if (task) {\n currentlyRunningATask = true;\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function(handle) {\n process.nextTick(function () { runIfPresent(handle); });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n global.onmessage = function() {\n postMessageIsAsynchronous = false;\n };\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n var onGlobalMessage = function(event) {\n if (event.source === global &&\n typeof event.data === \"string\" &&\n event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n channel.port1.onmessage = function(event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n registerImmediate = function(handle) {\n // Create a