| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- /******/ (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 = "/";
- /******/
- /******/
- /******/ // Load entry module and return exports
- /******/ return __webpack_require__(__webpack_require__.s = "./src/client/js/hackmd-agent.js");
- /******/ })
- /************************************************************************/
- /******/ ({
- /***/ "./node_modules/penpal/lib/connectCallReceiver.js":
- /*!********************************************************!*\
- !*** ./node_modules/penpal/lib/connectCallReceiver.js ***!
- \********************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _constants = __webpack_require__(/*! ./constants */ \"./node_modules/penpal/lib/constants.js\");\n\nvar _errorSerialization = __webpack_require__(/*! ./errorSerialization */ \"./node_modules/penpal/lib/errorSerialization.js\");\n\n/**\n * Listens for \"call\" messages coming from the remote, executes the corresponding method, and\n * responds with the return value.\n * @param {Object} info Information about the local and remote windows.\n * @param {Object} methods The keys are the names of the methods that can be called by the remote\n * while the values are the method functions.\n * @param {Promise} destructionPromise A promise resolved when destroy() is called on the penpal\n * connection.\n * @returns {Function} A function that may be called to disconnect the receiver.\n */\nvar _default = (info, methods, log) => {\n const localName = info.localName,\n local = info.local,\n remote = info.remote,\n originForSending = info.originForSending,\n originForReceiving = info.originForReceiving;\n let destroyed = false;\n log(`${localName}: Connecting call receiver`);\n\n const handleMessageEvent = event => {\n if (event.source !== remote || event.data.penpal !== _constants.CALL) {\n return;\n }\n\n if (event.origin !== originForReceiving) {\n log(`${localName} received message from origin ${event.origin} which did not match expected origin ${originForReceiving}`);\n return;\n }\n\n const _event$data = event.data,\n methodName = _event$data.methodName,\n args = _event$data.args,\n id = _event$data.id;\n log(`${localName}: Received ${methodName}() call`);\n\n const createPromiseHandler = resolution => {\n return returnValue => {\n log(`${localName}: Sending ${methodName}() reply`);\n\n if (destroyed) {\n // It's possible to throw an error here, but it would need to be thrown asynchronously\n // and would only be catchable using window.onerror. This is because the consumer\n // is merely returning a value from their method and not calling any function\n // that they could wrap in a try-catch. Even if the consumer were to catch the error,\n // the value of doing so is questionable. Instead, we'll just log a message.\n log(`${localName}: Unable to send ${methodName}() reply due to destroyed connection`);\n return;\n }\n\n const message = {\n penpal: _constants.REPLY,\n id,\n resolution,\n returnValue\n };\n\n if (resolution === _constants.REJECTED && returnValue instanceof Error) {\n message.returnValue = (0, _errorSerialization.serializeError)(returnValue);\n message.returnValueIsError = true;\n }\n\n try {\n remote.postMessage(message, originForSending);\n } catch (err) {\n // If a consumer attempts to send an object that's not cloneable (e.g., window),\n // we want to ensure the receiver's promise gets rejected.\n if (err.name === _constants.DATA_CLONE_ERROR) {\n remote.postMessage({\n penpal: _constants.REPLY,\n id,\n resolution: _constants.REJECTED,\n returnValue: (0, _errorSerialization.serializeError)(err),\n returnValueIsError: true\n }, originForSending);\n }\n\n throw err;\n }\n };\n };\n\n new Promise(resolve => resolve(methods[methodName].apply(methods, args))).then(createPromiseHandler(_constants.FULFILLED), createPromiseHandler(_constants.REJECTED));\n };\n\n local.addEventListener(_constants.MESSAGE, handleMessageEvent);\n return () => {\n destroyed = true;\n local.removeEventListener(_constants.MESSAGE, handleMessageEvent);\n };\n};\n\nexports.default = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcGVucGFsL2xpYi9jb25uZWN0Q2FsbFJlY2VpdmVyLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3BlbnBhbC9saWIvY29ubmVjdENhbGxSZWNlaXZlci5qcz9kZWQzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwO1xuXG52YXIgX2NvbnN0YW50cyA9IHJlcXVpcmUoXCIuL2NvbnN0YW50c1wiKTtcblxudmFyIF9lcnJvclNlcmlhbGl6YXRpb24gPSByZXF1aXJlKFwiLi9lcnJvclNlcmlhbGl6YXRpb25cIik7XG5cbi8qKlxuICogTGlzdGVucyBmb3IgXCJjYWxsXCIgbWVzc2FnZXMgY29taW5nIGZyb20gdGhlIHJlbW90ZSwgZXhlY3V0ZXMgdGhlIGNvcnJlc3BvbmRpbmcgbWV0aG9kLCBhbmRcbiAqIHJlc3BvbmRzIHdpdGggdGhlIHJldHVybiB2YWx1ZS5cbiAqIEBwYXJhbSB7T2JqZWN0fSBpbmZvIEluZm9ybWF0aW9uIGFib3V0IHRoZSBsb2NhbCBhbmQgcmVtb3RlIHdpbmRvd3MuXG4gKiBAcGFyYW0ge09iamVjdH0gbWV0aG9kcyBUaGUga2V5cyBhcmUgdGhlIG5hbWVzIG9mIHRoZSBtZXRob2RzIHRoYXQgY2FuIGJlIGNhbGxlZCBieSB0aGUgcmVtb3RlXG4gKiB3aGlsZSB0aGUgdmFsdWVzIGFyZSB0aGUgbWV0aG9kIGZ1bmN0aW9ucy5cbiAqIEBwYXJhbSB7UHJvbWlzZX0gZGVzdHJ1Y3Rpb25Qcm9taXNlIEEgcHJvbWlzZSByZXNvbHZlZCB3aGVuIGRlc3Ryb3koKSBpcyBjYWxsZWQgb24gdGhlIHBlbnBhbFxuICogY29ubmVjdGlvbi5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gQSBmdW5jdGlvbiB0aGF0IG1heSBiZSBjYWxsZWQgdG8gZGlzY29ubmVjdCB0aGUgcmVjZWl2ZXIuXG4gKi9cbnZhciBfZGVmYXVsdCA9IChpbmZvLCBtZXRob2RzLCBsb2cpID0+IHtcbiAgY29uc3QgbG9jYWxOYW1lID0gaW5mby5sb2NhbE5hbWUsXG4gICAgICAgIGxvY2FsID0gaW5mby5sb2NhbCxcbiAgICAgICAgcmVtb3RlID0gaW5mby5yZW1vdGUsXG4gICAgICAgIG9yaWdpbkZvclNlbmRpbmcgPSBpbmZvLm9yaWdpbkZvclNlbmRpbmcsXG4gICAgICAgIG9yaWdpbkZvclJlY2VpdmluZyA9IGluZm8ub3JpZ2luRm9yUmVjZWl2aW5nO1xuICBsZXQgZGVzdHJveWVkID0gZmFsc2U7XG4gIGxvZyhgJHtsb2NhbE5hbWV9OiBDb25uZWN0aW5nIGNhbGwgcmVjZWl2ZXJgKTtcblxuICBjb25zdCBoYW5kbGVNZXNzYWdlRXZlbnQgPSBldmVudCA9PiB7XG4gICAgaWYgKGV2ZW50LnNvdXJjZSAhPT0gcmVtb3RlIHx8IGV2ZW50LmRhdGEucGVucGFsICE9PSBfY29uc3RhbnRzLkNBTEwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQub3JpZ2luICE9PSBvcmlnaW5Gb3JSZWNlaXZpbmcpIHtcbiAgICAgIGxvZyhgJHtsb2NhbE5hbWV9IHJlY2VpdmVkIG1lc3NhZ2UgZnJvbSBvcmlnaW4gJHtldmVudC5vcmlnaW59IHdoaWNoIGRpZCBub3QgbWF0Y2ggZXhwZWN0ZWQgb3JpZ2luICR7b3JpZ2luRm9yUmVjZWl2aW5nfWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IF9ldmVudCRkYXRhID0gZXZlbnQuZGF0YSxcbiAgICAgICAgICBtZXRob2ROYW1lID0gX2V2ZW50JGRhdGEubWV0aG9kTmFtZSxcbiAgICAgICAgICBhcmdzID0gX2V2ZW50JGRhdGEuYXJncyxcbiAgICAgICAgICBpZCA9IF9ldmVudCRkYXRhLmlkO1xuICAgIGxvZyhgJHtsb2NhbE5hbWV9OiBSZWNlaXZlZCAke21ldGhvZE5hbWV9KCkgY2FsbGApO1xuXG4gICAgY29uc3QgY3JlYXRlUHJvbWlzZUhhbmRsZXIgPSByZXNvbHV0aW9uID0+IHtcbiAgICAgIHJldHVybiByZXR1cm5WYWx1ZSA9PiB7XG4gICAgICAgIGxvZyhgJHtsb2NhbE5hbWV9OiBTZW5kaW5nICR7bWV0aG9kTmFtZX0oKSByZXBseWApO1xuXG4gICAgICAgIGlmIChkZXN0cm95ZWQpIHtcbiAgICAgICAgICAvLyBJdCdzIHBvc3NpYmxlIHRvIHRocm93IGFuIGVycm9yIGhlcmUsIGJ1dCBpdCB3b3VsZCBuZWVkIHRvIGJlIHRocm93biBhc3luY2hyb25vdXNseVxuICAgICAgICAgIC8vIGFuZCB3b3VsZCBvbmx5IGJlIGNhdGNoYWJsZSB1c2luZyB3aW5kb3cub25lcnJvci4gVGhpcyBpcyBiZWNhdXNlIHRoZSBjb25zdW1lclxuICAgICAgICAgIC8vIGlzIG1lcmVseSByZXR1cm5pbmcgYSB2YWx1ZSBmcm9tIHRoZWlyIG1ldGhvZCBhbmQgbm90IGNhbGxpbmcgYW55IGZ1bmN0aW9uXG4gICAgICAgICAgLy8gdGhhdCB0aGV5IGNvdWxkIHdyYXAgaW4gYSB0cnktY2F0Y2guIEV2ZW4gaWYgdGhlIGNvbnN1bWVyIHdlcmUgdG8gY2F0Y2ggdGhlIGVycm9yLFxuICAgICAgICAgIC8vIHRoZSB2YWx1ZSBvZiBkb2luZyBzbyBpcyBxdWVzdGlvbmFibGUuIEluc3RlYWQsIHdlJ2xsIGp1c3QgbG9nIGEgbWVzc2FnZS5cbiAgICAgICAgICBsb2coYCR7bG9jYWxOYW1lfTogVW5hYmxlIHRvIHNlbmQgJHttZXRob2ROYW1lfSgpIHJlcGx5IGR1ZSB0byBkZXN0cm95ZWQgY29ubmVjdGlvbmApO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgICAgcGVucGFsOiBfY29uc3RhbnRzLlJFUExZLFxuICAgICAgICAgIGlkLFxuICAgICAgICAgIHJlc29sdXRpb24sXG4gICAgICAgICAgcmV0dXJuVmFsdWVcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAocmVzb2x1dGlvbiA9PT0gX2NvbnN0YW50cy5SRUpFQ1RFRCAmJiByZXR1cm5WYWx1ZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgbWVzc2FnZS5yZXR1cm5WYWx1ZSA9ICgwLCBfZXJyb3JTZXJpYWxpemF0aW9uLnNlcmlhbGl6ZUVycm9yKShyZXR1cm5WYWx1ZSk7XG4gICAgICAgICAgbWVzc2FnZS5yZXR1cm5WYWx1ZUlzRXJyb3IgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZW1vdGUucG9zdE1lc3NhZ2UobWVzc2FnZSwgb3JpZ2luRm9yU2VuZGluZyk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIC8vIElmIGEgY29uc3VtZXIgYXR0ZW1wdHMgdG8gc2VuZCBhbiBvYmplY3QgdGhhdCdzIG5vdCBjbG9uZWFibGUgKGUuZy4sIHdpbmRvdyksXG4gICAgICAgICAgLy8gd2Ugd2FudCB0byBlbnN1cmUgdGhlIHJlY2VpdmVyJ3MgcHJvbWlzZSBnZXRzIHJlamVjdGVkLlxuICAgICAgICAgIGlmIChlcnIubmFtZSA9PT0gX2NvbnN0YW50cy5EQVRBX0NMT05FX0VSUk9SKSB7XG4gICAgICAgICAgICByZW1vdGUucG9zdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgICBwZW5wYWw6IF9jb25zdGFudHMuUkVQTFksXG4gICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICByZXNvbHV0aW9uOiBfY29uc3RhbnRzLlJFSkVDVEVELFxuICAgICAgICAgICAgICByZXR1cm5WYWx1ZTogKDAsIF9lcnJvclNlcmlhbGl6YXRpb24uc2VyaWFsaXplRXJyb3IpKGVyciksXG4gICAgICAgICAgICAgIHJldHVyblZhbHVlSXNFcnJvcjogdHJ1ZVxuICAgICAgICAgICAgfSwgb3JpZ2luRm9yU2VuZGluZyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH07XG5cbiAgICBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlc29sdmUobWV0aG9kc1ttZXRob2ROYW1lXS5hcHBseShtZXRob2RzLCBhcmdzKSkpLnRoZW4oY3JlYXRlUHJvbWlzZUhhbmRsZXIoX2NvbnN0YW50cy5GVUxGSUxMRUQpLCBjcmVhdGVQcm9taXNlSGFuZGxlcihfY29uc3RhbnRzLlJFSkVDVEVEKSk7XG4gIH07XG5cbiAgbG9jYWwuYWRkRXZlbnRMaXN0ZW5lcihfY29uc3RhbnRzLk1FU1NBR0UsIGhhbmRsZU1lc3NhZ2VFdmVudCk7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgZGVzdHJveWVkID0gdHJ1ZTtcbiAgICBsb2NhbC5yZW1vdmVFdmVudExpc3RlbmVyKF9jb25zdGFudHMuTUVTU0FHRSwgaGFuZGxlTWVzc2FnZUV2ZW50KTtcbiAgfTtcbn07XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0O1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/penpal/lib/connectCallReceiver.js\n");
- /***/ }),
- /***/ "./node_modules/penpal/lib/connectCallSender.js":
- /*!******************************************************!*\
- !*** ./node_modules/penpal/lib/connectCallSender.js ***!
- \******************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _constants = __webpack_require__(/*! ./constants */ \"./node_modules/penpal/lib/constants.js\");\n\nvar _errorCodes = __webpack_require__(/*! ./errorCodes */ \"./node_modules/penpal/lib/errorCodes.js\");\n\nvar _generateId = _interopRequireDefault(__webpack_require__(/*! ./generateId */ \"./node_modules/penpal/lib/generateId.js\"));\n\nvar _errorSerialization = __webpack_require__(/*! ./errorSerialization */ \"./node_modules/penpal/lib/errorSerialization.js\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Augments an object with methods that match those defined by the remote. When these methods are\n * called, a \"call\" message will be sent to the remote, the remote's corresponding method will be\n * executed, and the method's return value will be returned via a message.\n * @param {Object} callSender Sender object that should be augmented with methods.\n * @param {Object} info Information about the local and remote windows.\n * @param {Array} methodNames Names of methods available to be called on the remote.\n * @param {Promise} destructionPromise A promise resolved when destroy() is called on the penpal\n * connection.\n * @returns {Object} The call sender object with methods that may be called.\n */\nvar _default = (callSender, info, methodNames, destroyConnection, log) => {\n const localName = info.localName,\n local = info.local,\n remote = info.remote,\n originForSending = info.originForSending,\n originForReceiving = info.originForReceiving;\n let destroyed = false;\n log(`${localName}: Connecting call sender`);\n\n const createMethodProxy = methodName => {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n log(`${localName}: Sending ${methodName}() call`); // This handles the case where the iframe has been removed from the DOM\n // (and therefore its window closed), the consumer has not yet\n // called destroy(), and the user calls a method exposed by\n // the remote. We detect the iframe has been removed and force\n // a destroy() immediately so that the consumer sees the error saying\n // the connection has been destroyed. We wrap this check in a try catch\n // because Edge throws an \"Object expected\" error when accessing\n // contentWindow.closed on a contentWindow from an iframe that's been\n // removed from the DOM.\n\n let iframeRemoved;\n\n try {\n if (remote.closed) {\n iframeRemoved = true;\n }\n } catch (e) {\n iframeRemoved = true;\n }\n\n if (iframeRemoved) {\n destroyConnection();\n }\n\n if (destroyed) {\n const error = new Error(`Unable to send ${methodName}() call due ` + `to destroyed connection`);\n error.code = _errorCodes.ERR_CONNECTION_DESTROYED;\n throw error;\n }\n\n return new Promise((resolve, reject) => {\n const id = (0, _generateId.default)();\n\n const handleMessageEvent = event => {\n if (event.source !== remote || event.data.penpal !== _constants.REPLY || event.data.id !== id) {\n return;\n }\n\n if (event.origin !== originForReceiving) {\n log(`${localName} received message from origin ${event.origin} which did not match expected origin ${originForReceiving}`);\n return;\n }\n\n log(`${localName}: Received ${methodName}() reply`);\n local.removeEventListener(_constants.MESSAGE, handleMessageEvent);\n let returnValue = event.data.returnValue;\n\n if (event.data.returnValueIsError) {\n returnValue = (0, _errorSerialization.deserializeError)(returnValue);\n }\n\n (event.data.resolution === _constants.FULFILLED ? resolve : reject)(returnValue);\n };\n\n local.addEventListener(_constants.MESSAGE, handleMessageEvent);\n remote.postMessage({\n penpal: _constants.CALL,\n id,\n methodName,\n args\n }, originForSending);\n });\n };\n };\n\n methodNames.reduce((api, methodName) => {\n api[methodName] = createMethodProxy(methodName);\n return api;\n }, callSender);\n return () => {\n destroyed = true;\n };\n};\n\nexports.default = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcGVucGFsL2xpYi9jb25uZWN0Q2FsbFNlbmRlci5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wZW5wYWwvbGliL2Nvbm5lY3RDYWxsU2VuZGVyLmpzP2QyYzMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICB2YWx1ZTogdHJ1ZVxufSk7XG5leHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7XG5cbnZhciBfY29uc3RhbnRzID0gcmVxdWlyZShcIi4vY29uc3RhbnRzXCIpO1xuXG52YXIgX2Vycm9yQ29kZXMgPSByZXF1aXJlKFwiLi9lcnJvckNvZGVzXCIpO1xuXG52YXIgX2dlbmVyYXRlSWQgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL2dlbmVyYXRlSWRcIikpO1xuXG52YXIgX2Vycm9yU2VyaWFsaXphdGlvbiA9IHJlcXVpcmUoXCIuL2Vycm9yU2VyaWFsaXphdGlvblwiKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxuLyoqXG4gKiBBdWdtZW50cyBhbiBvYmplY3Qgd2l0aCBtZXRob2RzIHRoYXQgbWF0Y2ggdGhvc2UgZGVmaW5lZCBieSB0aGUgcmVtb3RlLiBXaGVuIHRoZXNlIG1ldGhvZHMgYXJlXG4gKiBjYWxsZWQsIGEgXCJjYWxsXCIgbWVzc2FnZSB3aWxsIGJlIHNlbnQgdG8gdGhlIHJlbW90ZSwgdGhlIHJlbW90ZSdzIGNvcnJlc3BvbmRpbmcgbWV0aG9kIHdpbGwgYmVcbiAqIGV4ZWN1dGVkLCBhbmQgdGhlIG1ldGhvZCdzIHJldHVybiB2YWx1ZSB3aWxsIGJlIHJldHVybmVkIHZpYSBhIG1lc3NhZ2UuXG4gKiBAcGFyYW0ge09iamVjdH0gY2FsbFNlbmRlciBTZW5kZXIgb2JqZWN0IHRoYXQgc2hvdWxkIGJlIGF1Z21lbnRlZCB3aXRoIG1ldGhvZHMuXG4gKiBAcGFyYW0ge09iamVjdH0gaW5mbyBJbmZvcm1hdGlvbiBhYm91dCB0aGUgbG9jYWwgYW5kIHJlbW90ZSB3aW5kb3dzLlxuICogQHBhcmFtIHtBcnJheX0gbWV0aG9kTmFtZXMgTmFtZXMgb2YgbWV0aG9kcyBhdmFpbGFibGUgdG8gYmUgY2FsbGVkIG9uIHRoZSByZW1vdGUuXG4gKiBAcGFyYW0ge1Byb21pc2V9IGRlc3RydWN0aW9uUHJvbWlzZSBBIHByb21pc2UgcmVzb2x2ZWQgd2hlbiBkZXN0cm95KCkgaXMgY2FsbGVkIG9uIHRoZSBwZW5wYWxcbiAqIGNvbm5lY3Rpb24uXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBUaGUgY2FsbCBzZW5kZXIgb2JqZWN0IHdpdGggbWV0aG9kcyB0aGF0IG1heSBiZSBjYWxsZWQuXG4gKi9cbnZhciBfZGVmYXVsdCA9IChjYWxsU2VuZGVyLCBpbmZvLCBtZXRob2ROYW1lcywgZGVzdHJveUNvbm5lY3Rpb24sIGxvZykgPT4ge1xuICBjb25zdCBsb2NhbE5hbWUgPSBpbmZvLmxvY2FsTmFtZSxcbiAgICAgICAgbG9jYWwgPSBpbmZvLmxvY2FsLFxuICAgICAgICByZW1vdGUgPSBpbmZvLnJlbW90ZSxcbiAgICAgICAgb3JpZ2luRm9yU2VuZGluZyA9IGluZm8ub3JpZ2luRm9yU2VuZGluZyxcbiAgICAgICAgb3JpZ2luRm9yUmVjZWl2aW5nID0gaW5mby5vcmlnaW5Gb3JSZWNlaXZpbmc7XG4gIGxldCBkZXN0cm95ZWQgPSBmYWxzZTtcbiAgbG9nKGAke2xvY2FsTmFtZX06IENvbm5lY3RpbmcgY2FsbCBzZW5kZXJgKTtcblxuICBjb25zdCBjcmVhdGVNZXRob2RQcm94eSA9IG1ldGhvZE5hbWUgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgIH1cblxuICAgICAgbG9nKGAke2xvY2FsTmFtZX06IFNlbmRpbmcgJHttZXRob2ROYW1lfSgpIGNhbGxgKTsgLy8gVGhpcyBoYW5kbGVzIHRoZSBjYXNlIHdoZXJlIHRoZSBpZnJhbWUgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBET01cbiAgICAgIC8vIChhbmQgdGhlcmVmb3JlIGl0cyB3aW5kb3cgY2xvc2VkKSwgdGhlIGNvbnN1bWVyIGhhcyBub3QgeWV0XG4gICAgICAvLyBjYWxsZWQgZGVzdHJveSgpLCBhbmQgdGhlIHVzZXIgY2FsbHMgYSBtZXRob2QgZXhwb3NlZCBieVxuICAgICAgLy8gdGhlIHJlbW90ZS4gV2UgZGV0ZWN0IHRoZSBpZnJhbWUgaGFzIGJlZW4gcmVtb3ZlZCBhbmQgZm9yY2VcbiAgICAgIC8vIGEgZGVzdHJveSgpIGltbWVkaWF0ZWx5IHNvIHRoYXQgdGhlIGNvbnN1bWVyIHNlZXMgdGhlIGVycm9yIHNheWluZ1xuICAgICAgLy8gdGhlIGNvbm5lY3Rpb24gaGFzIGJlZW4gZGVzdHJveWVkLiBXZSB3cmFwIHRoaXMgY2hlY2sgaW4gYSB0cnkgY2F0Y2hcbiAgICAgIC8vIGJlY2F1c2UgRWRnZSB0aHJvd3MgYW4gXCJPYmplY3QgZXhwZWN0ZWRcIiBlcnJvciB3aGVuIGFjY2Vzc2luZ1xuICAgICAgLy8gY29udGVudFdpbmRvdy5jbG9zZWQgb24gYSBjb250ZW50V2luZG93IGZyb20gYW4gaWZyYW1lIHRoYXQncyBiZWVuXG4gICAgICAvLyByZW1vdmVkIGZyb20gdGhlIERPTS5cblxuICAgICAgbGV0IGlmcmFtZVJlbW92ZWQ7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChyZW1vdGUuY2xvc2VkKSB7XG4gICAgICAgICAgaWZyYW1lUmVtb3ZlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgaWZyYW1lUmVtb3ZlZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChpZnJhbWVSZW1vdmVkKSB7XG4gICAgICAgIGRlc3Ryb3lDb25uZWN0aW9uKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChkZXN0cm95ZWQpIHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoYFVuYWJsZSB0byBzZW5kICR7bWV0aG9kTmFtZX0oKSBjYWxsIGR1ZSBgICsgYHRvIGRlc3Ryb3llZCBjb25uZWN0aW9uYCk7XG4gICAgICAgIGVycm9yLmNvZGUgPSBfZXJyb3JDb2Rlcy5FUlJfQ09OTkVDVElPTl9ERVNUUk9ZRUQ7XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCBpZCA9ICgwLCBfZ2VuZXJhdGVJZC5kZWZhdWx0KSgpO1xuXG4gICAgICAgIGNvbnN0IGhhbmRsZU1lc3NhZ2VFdmVudCA9IGV2ZW50ID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQuc291cmNlICE9PSByZW1vdGUgfHwgZXZlbnQuZGF0YS5wZW5wYWwgIT09IF9jb25zdGFudHMuUkVQTFkgfHwgZXZlbnQuZGF0YS5pZCAhPT0gaWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZXZlbnQub3JpZ2luICE9PSBvcmlnaW5Gb3JSZWNlaXZpbmcpIHtcbiAgICAgICAgICAgIGxvZyhgJHtsb2NhbE5hbWV9IHJlY2VpdmVkIG1lc3NhZ2UgZnJvbSBvcmlnaW4gJHtldmVudC5vcmlnaW59IHdoaWNoIGRpZCBub3QgbWF0Y2ggZXhwZWN0ZWQgb3JpZ2luICR7b3JpZ2luRm9yUmVjZWl2aW5nfWApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxvZyhgJHtsb2NhbE5hbWV9OiBSZWNlaXZlZCAke21ldGhvZE5hbWV9KCkgcmVwbHlgKTtcbiAgICAgICAgICBsb2NhbC5yZW1vdmVFdmVudExpc3RlbmVyKF9jb25zdGFudHMuTUVTU0FHRSwgaGFuZGxlTWVzc2FnZUV2ZW50KTtcbiAgICAgICAgICBsZXQgcmV0dXJuVmFsdWUgPSBldmVudC5kYXRhLnJldHVyblZhbHVlO1xuXG4gICAgICAgICAgaWYgKGV2ZW50LmRhdGEucmV0dXJuVmFsdWVJc0Vycm9yKSB7XG4gICAgICAgICAgICByZXR1cm5WYWx1ZSA9ICgwLCBfZXJyb3JTZXJpYWxpemF0aW9uLmRlc2VyaWFsaXplRXJyb3IpKHJldHVyblZhbHVlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAoZXZlbnQuZGF0YS5yZXNvbHV0aW9uID09PSBfY29uc3RhbnRzLkZVTEZJTExFRCA/IHJlc29sdmUgOiByZWplY3QpKHJldHVyblZhbHVlKTtcbiAgICAgICAgfTtcblxuICAgICAgICBsb2NhbC5hZGRFdmVudExpc3RlbmVyKF9jb25zdGFudHMuTUVTU0FHRSwgaGFuZGxlTWVzc2FnZUV2ZW50KTtcbiAgICAgICAgcmVtb3RlLnBvc3RNZXNzYWdlKHtcbiAgICAgICAgICBwZW5wYWw6IF9jb25zdGFudHMuQ0FMTCxcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBtZXRob2ROYW1lLFxuICAgICAgICAgIGFyZ3NcbiAgICAgICAgfSwgb3JpZ2luRm9yU2VuZGluZyk7XG4gICAgICB9KTtcbiAgICB9O1xuICB9O1xuXG4gIG1ldGhvZE5hbWVzLnJlZHVjZSgoYXBpLCBtZXRob2ROYW1lKSA9PiB7XG4gICAgYXBpW21ldGhvZE5hbWVdID0gY3JlYXRlTWV0aG9kUHJveHkobWV0aG9kTmFtZSk7XG4gICAgcmV0dXJuIGFwaTtcbiAgfSwgY2FsbFNlbmRlcik7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgZGVzdHJveWVkID0gdHJ1ZTtcbiAgfTtcbn07XG5cbmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0O1xubW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/penpal/lib/connectCallSender.js\n");
- /***/ }),
- /***/ "./node_modules/penpal/lib/connectToParent.js":
- /*!****************************************************!*\
- !*** ./node_modules/penpal/lib/connectToParent.js ***!
- \****************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _constants = __webpack_require__(/*! ./constants */ \"./node_modules/penpal/lib/constants.js\");\n\nvar _errorCodes = __webpack_require__(/*! ./errorCodes */ \"./node_modules/penpal/lib/errorCodes.js\");\n\nvar _createDestructor2 = _interopRequireDefault(__webpack_require__(/*! ./createDestructor */ \"./node_modules/penpal/lib/createDestructor.js\"));\n\nvar _connectCallReceiver = _interopRequireDefault(__webpack_require__(/*! ./connectCallReceiver */ \"./node_modules/penpal/lib/connectCallReceiver.js\"));\n\nvar _connectCallSender = _interopRequireDefault(__webpack_require__(/*! ./connectCallSender */ \"./node_modules/penpal/lib/connectCallSender.js\"));\n\nvar _createLogger = _interopRequireDefault(__webpack_require__(/*! ./createLogger */ \"./node_modules/penpal/lib/createLogger.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @typedef {Object} Parent\n * @property {Promise} promise A promise which will be resolved once a connection has\n * been established.\n */\n\n/**\n * Attempts to establish communication with the parent window.\n * @param {Object} options\n * @param {string} [options.parentOrigin=*] Valid parent origin used to restrict communication.\n * @param {Object} [options.methods={}] Methods that may be called by the parent window.\n * @param {Number} [options.timeout] The amount of time, in milliseconds, Penpal should wait\n * for the parent to respond before rejecting the connection promise.\n * @return {Parent}\n */\nvar _default = function _default() {\n let _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$parentOrigin = _ref.parentOrigin,\n parentOrigin = _ref$parentOrigin === void 0 ? '*' : _ref$parentOrigin,\n _ref$methods = _ref.methods,\n methods = _ref$methods === void 0 ? {} : _ref$methods,\n timeout = _ref.timeout,\n debug = _ref.debug;\n\n const log = (0, _createLogger.default)(debug);\n\n if (window === window.top) {\n const error = new Error('connectToParent() must be called within an iframe');\n error.code = _errorCodes.ERR_NOT_IN_IFRAME;\n throw error;\n }\n\n const _createDestructor = (0, _createDestructor2.default)(),\n destroy = _createDestructor.destroy,\n onDestroy = _createDestructor.onDestroy;\n\n const child = window;\n const parent = child.parent;\n const promise = new Promise((resolveConnectionPromise, reject) => {\n let connectionTimeoutId;\n\n if (timeout !== undefined) {\n connectionTimeoutId = setTimeout(() => {\n const error = new Error(`Connection to parent timed out after ${timeout}ms`);\n error.code = _errorCodes.ERR_CONNECTION_TIMEOUT;\n reject(error);\n destroy();\n }, timeout);\n }\n\n const handleMessageEvent = event => {\n // Under niche scenarios, we get into this function after\n // the iframe has been removed from the DOM. In Edge, this\n // results in \"Object expected\" errors being thrown when we\n // try to access properties on window (global properties).\n // For this reason, we try to access a global up front (clearTimeout)\n // and if it fails we can assume the iframe has been removed\n // and we ignore the message event.\n try {\n clearTimeout();\n } catch (e) {\n return;\n }\n\n if (event.source !== parent || event.data.penpal !== _constants.HANDSHAKE_REPLY) {\n return;\n }\n\n if (parentOrigin !== '*' && parentOrigin !== event.origin) {\n log(`Child received handshake reply from origin ${event.origin} which did not match expected origin ${parentOrigin}`);\n return;\n }\n\n log('Child: Received handshake reply');\n child.removeEventListener(_constants.MESSAGE, handleMessageEvent);\n const info = {\n localName: 'Child',\n local: child,\n remote: parent,\n originForSending: event.origin === 'null' ? '*' : event.origin,\n originForReceiving: event.origin\n };\n const callSender = {};\n const destroyCallReceiver = (0, _connectCallReceiver.default)(info, methods, log);\n onDestroy(destroyCallReceiver);\n const destroyCallSender = (0, _connectCallSender.default)(callSender, info, event.data.methodNames, destroy, log);\n onDestroy(destroyCallSender);\n clearTimeout(connectionTimeoutId);\n resolveConnectionPromise(callSender);\n };\n\n child.addEventListener(_constants.MESSAGE, handleMessageEvent);\n onDestroy(() => {\n child.removeEventListener(_constants.MESSAGE, handleMessageEvent);\n const error = new Error('Connection destroyed');\n error.code = _errorCodes.ERR_CONNECTION_DESTROYED;\n reject(error);\n });\n log('Child: Sending handshake');\n parent.postMessage({\n penpal: _constants.HANDSHAKE,\n methodNames: Object.keys(methods)\n }, parentOrigin);\n });\n return {\n promise,\n destroy\n };\n};\n\nexports.default = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcGVucGFsL2xpYi9jb25uZWN0VG9QYXJlbnQuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcGVucGFsL2xpYi9jb25uZWN0VG9QYXJlbnQuanM/NmVlYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxudmFyIF9jb25zdGFudHMgPSByZXF1aXJlKFwiLi9jb25zdGFudHNcIik7XG5cbnZhciBfZXJyb3JDb2RlcyA9IHJlcXVpcmUoXCIuL2Vycm9yQ29kZXNcIik7XG5cbnZhciBfY3JlYXRlRGVzdHJ1Y3RvcjIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL2NyZWF0ZURlc3RydWN0b3JcIikpO1xuXG52YXIgX2Nvbm5lY3RDYWxsUmVjZWl2ZXIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoXCIuL2Nvbm5lY3RDYWxsUmVjZWl2ZXJcIikpO1xuXG52YXIgX2Nvbm5lY3RDYWxsU2VuZGVyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9jb25uZWN0Q2FsbFNlbmRlclwiKSk7XG5cbnZhciBfY3JlYXRlTG9nZ2VyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKFwiLi9jcmVhdGVMb2dnZXJcIikpO1xuXG5mdW5jdGlvbiBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KG9iaikgeyByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTsgfVxuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFBhcmVudFxuICogQHByb3BlcnR5IHtQcm9taXNlfSBwcm9taXNlIEEgcHJvbWlzZSB3aGljaCB3aWxsIGJlIHJlc29sdmVkIG9uY2UgYSBjb25uZWN0aW9uIGhhc1xuICogYmVlbiBlc3RhYmxpc2hlZC5cbiAqL1xuXG4vKipcbiAqIEF0dGVtcHRzIHRvIGVzdGFibGlzaCBjb21tdW5pY2F0aW9uIHdpdGggdGhlIHBhcmVudCB3aW5kb3cuXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLnBhcmVudE9yaWdpbj0qXSBWYWxpZCBwYXJlbnQgb3JpZ2luIHVzZWQgdG8gcmVzdHJpY3QgY29tbXVuaWNhdGlvbi5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9ucy5tZXRob2RzPXt9XSBNZXRob2RzIHRoYXQgbWF5IGJlIGNhbGxlZCBieSB0aGUgcGFyZW50IHdpbmRvdy5cbiAqIEBwYXJhbSB7TnVtYmVyfSBbb3B0aW9ucy50aW1lb3V0XSBUaGUgYW1vdW50IG9mIHRpbWUsIGluIG1pbGxpc2Vjb25kcywgUGVucGFsIHNob3VsZCB3YWl0XG4gKiBmb3IgdGhlIHBhcmVudCB0byByZXNwb25kIGJlZm9yZSByZWplY3RpbmcgdGhlIGNvbm5lY3Rpb24gcHJvbWlzZS5cbiAqIEByZXR1cm4ge1BhcmVudH1cbiAqL1xudmFyIF9kZWZhdWx0ID0gZnVuY3Rpb24gX2RlZmF1bHQoKSB7XG4gIGxldCBfcmVmID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fSxcbiAgICAgIF9yZWYkcGFyZW50T3JpZ2luID0gX3JlZi5wYXJlbnRPcmlnaW4sXG4gICAgICBwYXJlbnRPcmlnaW4gPSBfcmVmJHBhcmVudE9yaWdpbiA9PT0gdm9pZCAwID8gJyonIDogX3JlZiRwYXJlbnRPcmlnaW4sXG4gICAgICBfcmVmJG1ldGhvZHMgPSBfcmVmLm1ldGhvZHMsXG4gICAgICBtZXRob2RzID0gX3JlZiRtZXRob2RzID09PSB2b2lkIDAgPyB7fSA6IF9yZWYkbWV0aG9kcyxcbiAgICAgIHRpbWVvdXQgPSBfcmVmLnRpbWVvdXQsXG4gICAgICBkZWJ1ZyA9IF9yZWYuZGVidWc7XG5cbiAgY29uc3QgbG9nID0gKDAsIF9jcmVhdGVMb2dnZXIuZGVmYXVsdCkoZGVidWcpO1xuXG4gIGlmICh3aW5kb3cgPT09IHdpbmRvdy50b3ApIHtcbiAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcignY29ubmVjdFRvUGFyZW50KCkgbXVzdCBiZSBjYWxsZWQgd2l0aGluIGFuIGlmcmFtZScpO1xuICAgIGVycm9yLmNvZGUgPSBfZXJyb3JDb2Rlcy5FUlJfTk9UX0lOX0lGUkFNRTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxuXG4gIGNvbnN0IF9jcmVhdGVEZXN0cnVjdG9yID0gKDAsIF9jcmVhdGVEZXN0cnVjdG9yMi5kZWZhdWx0KSgpLFxuICAgICAgICBkZXN0cm95ID0gX2NyZWF0ZURlc3RydWN0b3IuZGVzdHJveSxcbiAgICAgICAgb25EZXN0cm95ID0gX2NyZWF0ZURlc3RydWN0b3Iub25EZXN0cm95O1xuXG4gIGNvbnN0IGNoaWxkID0gd2luZG93O1xuICBjb25zdCBwYXJlbnQgPSBjaGlsZC5wYXJlbnQ7XG4gIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZUNvbm5lY3Rpb25Qcm9taXNlLCByZWplY3QpID0+IHtcbiAgICBsZXQgY29ubmVjdGlvblRpbWVvdXRJZDtcblxuICAgIGlmICh0aW1lb3V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbm5lY3Rpb25UaW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoYENvbm5lY3Rpb24gdG8gcGFyZW50IHRpbWVkIG91dCBhZnRlciAke3RpbWVvdXR9bXNgKTtcbiAgICAgICAgZXJyb3IuY29kZSA9IF9lcnJvckNvZGVzLkVSUl9DT05ORUNUSU9OX1RJTUVPVVQ7XG4gICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgIGRlc3Ryb3koKTtcbiAgICAgIH0sIHRpbWVvdXQpO1xuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZU1lc3NhZ2VFdmVudCA9IGV2ZW50ID0+IHtcbiAgICAgIC8vIFVuZGVyIG5pY2hlIHNjZW5hcmlvcywgd2UgZ2V0IGludG8gdGhpcyBmdW5jdGlvbiBhZnRlclxuICAgICAgLy8gdGhlIGlmcmFtZSBoYXMgYmVlbiByZW1vdmVkIGZyb20gdGhlIERPTS4gSW4gRWRnZSwgdGhpc1xuICAgICAgLy8gcmVzdWx0cyBpbiBcIk9iamVjdCBleHBlY3RlZFwiIGVycm9ycyBiZWluZyB0aHJvd24gd2hlbiB3ZVxuICAgICAgLy8gdHJ5IHRvIGFjY2VzcyBwcm9wZXJ0aWVzIG9uIHdpbmRvdyAoZ2xvYmFsIHByb3BlcnRpZXMpLlxuICAgICAgLy8gRm9yIHRoaXMgcmVhc29uLCB3ZSB0cnkgdG8gYWNjZXNzIGEgZ2xvYmFsIHVwIGZyb250IChjbGVhclRpbWVvdXQpXG4gICAgICAvLyBhbmQgaWYgaXQgZmFpbHMgd2UgY2FuIGFzc3VtZSB0aGUgaWZyYW1lIGhhcyBiZWVuIHJlbW92ZWRcbiAgICAgIC8vIGFuZCB3ZSBpZ25vcmUgdGhlIG1lc3NhZ2UgZXZlbnQuXG4gICAgICB0cnkge1xuICAgICAgICBjbGVhclRpbWVvdXQoKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXZlbnQuc291cmNlICE9PSBwYXJlbnQgfHwgZXZlbnQuZGF0YS5wZW5wYWwgIT09IF9jb25zdGFudHMuSEFORFNIQUtFX1JFUExZKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHBhcmVudE9yaWdpbiAhPT0gJyonICYmIHBhcmVudE9yaWdpbiAhPT0gZXZlbnQub3JpZ2luKSB7XG4gICAgICAgIGxvZyhgQ2hpbGQgcmVjZWl2ZWQgaGFuZHNoYWtlIHJlcGx5IGZyb20gb3JpZ2luICR7ZXZlbnQub3JpZ2lufSB3aGljaCBkaWQgbm90IG1hdGNoIGV4cGVjdGVkIG9yaWdpbiAke3BhcmVudE9yaWdpbn1gKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBsb2coJ0NoaWxkOiBSZWNlaXZlZCBoYW5kc2hha2UgcmVwbHknKTtcbiAgICAgIGNoaWxkLnJlbW92ZUV2ZW50TGlzdGVuZXIoX2NvbnN0YW50cy5NRVNTQUdFLCBoYW5kbGVNZXNzYWdlRXZlbnQpO1xuICAgICAgY29uc3QgaW5mbyA9IHtcbiAgICAgICAgbG9jYWxOYW1lOiAnQ2hpbGQnLFxuICAgICAgICBsb2NhbDogY2hpbGQsXG4gICAgICAgIHJlbW90ZTogcGFyZW50LFxuICAgICAgICBvcmlnaW5Gb3JTZW5kaW5nOiBldmVudC5vcmlnaW4gPT09ICdudWxsJyA/ICcqJyA6IGV2ZW50Lm9yaWdpbixcbiAgICAgICAgb3JpZ2luRm9yUmVjZWl2aW5nOiBldmVudC5vcmlnaW5cbiAgICAgIH07XG4gICAgICBjb25zdCBjYWxsU2VuZGVyID0ge307XG4gICAgICBjb25zdCBkZXN0cm95Q2FsbFJlY2VpdmVyID0gKDAsIF9jb25uZWN0Q2FsbFJlY2VpdmVyLmRlZmF1bHQpKGluZm8sIG1ldGhvZHMsIGxvZyk7XG4gICAgICBvbkRlc3Ryb3koZGVzdHJveUNhbGxSZWNlaXZlcik7XG4gICAgICBjb25zdCBkZXN0cm95Q2FsbFNlbmRlciA9ICgwLCBfY29ubmVjdENhbGxTZW5kZXIuZGVmYXVsdCkoY2FsbFNlbmRlciwgaW5mbywgZXZlbnQuZGF0YS5tZXRob2ROYW1lcywgZGVzdHJveSwgbG9nKTtcbiAgICAgIG9uRGVzdHJveShkZXN0cm95Q2FsbFNlbmRlcik7XG4gICAgICBjbGVhclRpbWVvdXQoY29ubmVjdGlvblRpbWVvdXRJZCk7XG4gICAgICByZXNvbHZlQ29ubmVjdGlvblByb21pc2UoY2FsbFNlbmRlcik7XG4gICAgfTtcblxuICAgIGNoaWxkLmFkZEV2ZW50TGlzdGVuZXIoX2NvbnN0YW50cy5NRVNTQUdFLCBoYW5kbGVNZXNzYWdlRXZlbnQpO1xuICAgIG9uRGVzdHJveSgoKSA9PiB7XG4gICAgICBjaGlsZC5yZW1vdmVFdmVudExpc3RlbmVyKF9jb25zdGFudHMuTUVTU0FHRSwgaGFuZGxlTWVzc2FnZUV2ZW50KTtcbiAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKCdDb25uZWN0aW9uIGRlc3Ryb3llZCcpO1xuICAgICAgZXJyb3IuY29kZSA9IF9lcnJvckNvZGVzLkVSUl9DT05ORUNUSU9OX0RFU1RST1lFRDtcbiAgICAgIHJlamVjdChlcnJvcik7XG4gICAgfSk7XG4gICAgbG9nKCdDaGlsZDogU2VuZGluZyBoYW5kc2hha2UnKTtcbiAgICBwYXJlbnQucG9zdE1lc3NhZ2Uoe1xuICAgICAgcGVucGFsOiBfY29uc3RhbnRzLkhBTkRTSEFLRSxcbiAgICAgIG1ldGhvZE5hbWVzOiBPYmplY3Qua2V5cyhtZXRob2RzKVxuICAgIH0sIHBhcmVudE9yaWdpbik7XG4gIH0pO1xuICByZXR1cm4ge1xuICAgIHByb21pc2UsXG4gICAgZGVzdHJveVxuICB9O1xufTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/penpal/lib/connectToParent.js\n");
- /***/ }),
- /***/ "./node_modules/penpal/lib/constants.js":
- /*!**********************************************!*\
- !*** ./node_modules/penpal/lib/constants.js ***!
- \**********************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DATA_CLONE_ERROR = exports.MESSAGE = exports.REJECTED = exports.FULFILLED = exports.REPLY = exports.CALL = exports.HANDSHAKE_REPLY = exports.HANDSHAKE = void 0;\nconst HANDSHAKE = 'handshake';\nexports.HANDSHAKE = HANDSHAKE;\nconst HANDSHAKE_REPLY = 'handshake-reply';\nexports.HANDSHAKE_REPLY = HANDSHAKE_REPLY;\nconst CALL = 'call';\nexports.CALL = CALL;\nconst REPLY = 'reply';\nexports.REPLY = REPLY;\nconst FULFILLED = 'fulfilled';\nexports.FULFILLED = FULFILLED;\nconst REJECTED = 'rejected';\nexports.REJECTED = REJECTED;\nconst MESSAGE = 'message';\nexports.MESSAGE = MESSAGE;\nconst DATA_CLONE_ERROR = 'DataCloneError';\nexports.DATA_CLONE_ERROR = DATA_CLONE_ERROR;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcGVucGFsL2xpYi9jb25zdGFudHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcGVucGFsL2xpYi9jb25zdGFudHMuanM/NGIxMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuREFUQV9DTE9ORV9FUlJPUiA9IGV4cG9ydHMuTUVTU0FHRSA9IGV4cG9ydHMuUkVKRUNURUQgPSBleHBvcnRzLkZVTEZJTExFRCA9IGV4cG9ydHMuUkVQTFkgPSBleHBvcnRzLkNBTEwgPSBleHBvcnRzLkhBTkRTSEFLRV9SRVBMWSA9IGV4cG9ydHMuSEFORFNIQUtFID0gdm9pZCAwO1xuY29uc3QgSEFORFNIQUtFID0gJ2hhbmRzaGFrZSc7XG5leHBvcnRzLkhBTkRTSEFLRSA9IEhBTkRTSEFLRTtcbmNvbnN0IEhBTkRTSEFLRV9SRVBMWSA9ICdoYW5kc2hha2UtcmVwbHknO1xuZXhwb3J0cy5IQU5EU0hBS0VfUkVQTFkgPSBIQU5EU0hBS0VfUkVQTFk7XG5jb25zdCBDQUxMID0gJ2NhbGwnO1xuZXhwb3J0cy5DQUxMID0gQ0FMTDtcbmNvbnN0IFJFUExZID0gJ3JlcGx5JztcbmV4cG9ydHMuUkVQTFkgPSBSRVBMWTtcbmNvbnN0IEZVTEZJTExFRCA9ICdmdWxmaWxsZWQnO1xuZXhwb3J0cy5GVUxGSUxMRUQgPSBGVUxGSUxMRUQ7XG5jb25zdCBSRUpFQ1RFRCA9ICdyZWplY3RlZCc7XG5leHBvcnRzLlJFSkVDVEVEID0gUkVKRUNURUQ7XG5jb25zdCBNRVNTQUdFID0gJ21lc3NhZ2UnO1xuZXhwb3J0cy5NRVNTQUdFID0gTUVTU0FHRTtcbmNvbnN0IERBVEFfQ0xPTkVfRVJST1IgPSAnRGF0YUNsb25lRXJyb3InO1xuZXhwb3J0cy5EQVRBX0NMT05FX0VSUk9SID0gREFUQV9DTE9ORV9FUlJPUjsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/penpal/lib/constants.js\n");
- /***/ }),
- /***/ "./node_modules/penpal/lib/createDestructor.js":
- /*!*****************************************************!*\
- !*** ./node_modules/penpal/lib/createDestructor.js ***!
- \*****************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _default = () => {\n const callbacks = [];\n let destroyed = false;\n return {\n destroy() {\n destroyed = true;\n callbacks.forEach(callback => {\n callback();\n });\n },\n\n onDestroy(callback) {\n destroyed ? callback() : callbacks.push(callback);\n }\n\n };\n};\n\nexports.default = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcGVucGFsL2xpYi9jcmVhdGVEZXN0cnVjdG9yLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3BlbnBhbC9saWIvY3JlYXRlRGVzdHJ1Y3Rvci5qcz84NzRiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwO1xuXG52YXIgX2RlZmF1bHQgPSAoKSA9PiB7XG4gIGNvbnN0IGNhbGxiYWNrcyA9IFtdO1xuICBsZXQgZGVzdHJveWVkID0gZmFsc2U7XG4gIHJldHVybiB7XG4gICAgZGVzdHJveSgpIHtcbiAgICAgIGRlc3Ryb3llZCA9IHRydWU7XG4gICAgICBjYWxsYmFja3MuZm9yRWFjaChjYWxsYmFjayA9PiB7XG4gICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICB9KTtcbiAgICB9LFxuXG4gICAgb25EZXN0cm95KGNhbGxiYWNrKSB7XG4gICAgICBkZXN0cm95ZWQgPyBjYWxsYmFjaygpIDogY2FsbGJhY2tzLnB1c2goY2FsbGJhY2spO1xuICAgIH1cblxuICB9O1xufTtcblxuZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7XG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDsiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/penpal/lib/createDestructor.js\n");
- /***/ }),
- /***/ "./node_modules/penpal/lib/createLogger.js":
- /*!*************************************************!*\
- !*** ./node_modules/penpal/lib/createLogger.js ***!
- \*************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _default = debug => {\n return function () {\n if (debug) {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n console.log('[Penpal]', ...args); // eslint-disable-line no-console\n }\n };\n};\n\nexports.default = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcGVucGFsL2xpYi9jcmVhdGVMb2dnZXIuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcGVucGFsL2xpYi9jcmVhdGVMb2dnZXIuanM/NDA3MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDtcblxudmFyIF9kZWZhdWx0ID0gZGVidWcgPT4ge1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIGlmIChkZWJ1Zykge1xuICAgICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgICB9XG5cbiAgICAgIGNvbnNvbGUubG9nKCdbUGVucGFsXScsIC4uLmFyZ3MpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnNvbGVcbiAgICB9XG4gIH07XG59O1xuXG5leHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDtcbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/penpal/lib/createLogger.js\n");
- /***/ }),
- /***/ "./node_modules/penpal/lib/errorCodes.js":
- /*!***********************************************!*\
- !*** ./node_modules/penpal/lib/errorCodes.js ***!
- \***********************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ERR_NO_IFRAME_SRC = exports.ERR_NOT_IN_IFRAME = exports.ERR_CONNECTION_TIMEOUT = exports.ERR_CONNECTION_DESTROYED = void 0;\nconst ERR_CONNECTION_DESTROYED = 'ConnectionDestroyed';\nexports.ERR_CONNECTION_DESTROYED = ERR_CONNECTION_DESTROYED;\nconst ERR_CONNECTION_TIMEOUT = 'ConnectionTimeout';\nexports.ERR_CONNECTION_TIMEOUT = ERR_CONNECTION_TIMEOUT;\nconst ERR_NOT_IN_IFRAME = 'NotInIframe';\nexports.ERR_NOT_IN_IFRAME = ERR_NOT_IN_IFRAME;\nconst ERR_NO_IFRAME_SRC = 'NoIframeSrc';\nexports.ERR_NO_IFRAME_SRC = ERR_NO_IFRAME_SRC;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcGVucGFsL2xpYi9lcnJvckNvZGVzLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3BlbnBhbC9saWIvZXJyb3JDb2Rlcy5qcz85ZjFlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5FUlJfTk9fSUZSQU1FX1NSQyA9IGV4cG9ydHMuRVJSX05PVF9JTl9JRlJBTUUgPSBleHBvcnRzLkVSUl9DT05ORUNUSU9OX1RJTUVPVVQgPSBleHBvcnRzLkVSUl9DT05ORUNUSU9OX0RFU1RST1lFRCA9IHZvaWQgMDtcbmNvbnN0IEVSUl9DT05ORUNUSU9OX0RFU1RST1lFRCA9ICdDb25uZWN0aW9uRGVzdHJveWVkJztcbmV4cG9ydHMuRVJSX0NPTk5FQ1RJT05fREVTVFJPWUVEID0gRVJSX0NPTk5FQ1RJT05fREVTVFJPWUVEO1xuY29uc3QgRVJSX0NPTk5FQ1RJT05fVElNRU9VVCA9ICdDb25uZWN0aW9uVGltZW91dCc7XG5leHBvcnRzLkVSUl9DT05ORUNUSU9OX1RJTUVPVVQgPSBFUlJfQ09OTkVDVElPTl9USU1FT1VUO1xuY29uc3QgRVJSX05PVF9JTl9JRlJBTUUgPSAnTm90SW5JZnJhbWUnO1xuZXhwb3J0cy5FUlJfTk9UX0lOX0lGUkFNRSA9IEVSUl9OT1RfSU5fSUZSQU1FO1xuY29uc3QgRVJSX05PX0lGUkFNRV9TUkMgPSAnTm9JZnJhbWVTcmMnO1xuZXhwb3J0cy5FUlJfTk9fSUZSQU1FX1NSQyA9IEVSUl9OT19JRlJBTUVfU1JDOyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/penpal/lib/errorCodes.js\n");
- /***/ }),
- /***/ "./node_modules/penpal/lib/errorSerialization.js":
- /*!*******************************************************!*\
- !*** ./node_modules/penpal/lib/errorSerialization.js ***!
- \*******************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.deserializeError = exports.serializeError = void 0;\n\n/**\n * Converts an error object into a plain object.\n * @param {Error} Error object.\n * @returns {Object}\n */\nconst serializeError = (_ref) => {\n let name = _ref.name,\n message = _ref.message,\n stack = _ref.stack;\n return {\n name,\n message,\n stack\n };\n};\n/**\n * Converts a plain object into an error object.\n * @param {Object} Object with error properties.\n * @returns {Error}\n */\n\n\nexports.serializeError = serializeError;\n\nconst deserializeError = obj => {\n const deserializedError = new Error();\n Object.keys(obj).forEach(key => deserializedError[key] = obj[key]);\n return deserializedError;\n};\n\nexports.deserializeError = deserializeError;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcGVucGFsL2xpYi9lcnJvclNlcmlhbGl6YXRpb24uanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcGVucGFsL2xpYi9lcnJvclNlcmlhbGl6YXRpb24uanM/N2UyNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gIHZhbHVlOiB0cnVlXG59KTtcbmV4cG9ydHMuZGVzZXJpYWxpemVFcnJvciA9IGV4cG9ydHMuc2VyaWFsaXplRXJyb3IgPSB2b2lkIDA7XG5cbi8qKlxuICogQ29udmVydHMgYW4gZXJyb3Igb2JqZWN0IGludG8gYSBwbGFpbiBvYmplY3QuXG4gKiBAcGFyYW0ge0Vycm9yfSBFcnJvciBvYmplY3QuXG4gKiBAcmV0dXJucyB7T2JqZWN0fVxuICovXG5jb25zdCBzZXJpYWxpemVFcnJvciA9IChfcmVmKSA9PiB7XG4gIGxldCBuYW1lID0gX3JlZi5uYW1lLFxuICAgICAgbWVzc2FnZSA9IF9yZWYubWVzc2FnZSxcbiAgICAgIHN0YWNrID0gX3JlZi5zdGFjaztcbiAgcmV0dXJuIHtcbiAgICBuYW1lLFxuICAgIG1lc3NhZ2UsXG4gICAgc3RhY2tcbiAgfTtcbn07XG4vKipcbiAqIENvbnZlcnRzIGEgcGxhaW4gb2JqZWN0IGludG8gYW4gZXJyb3Igb2JqZWN0LlxuICogQHBhcmFtIHtPYmplY3R9IE9iamVjdCB3aXRoIGVycm9yIHByb3BlcnRpZXMuXG4gKiBAcmV0dXJucyB7RXJyb3J9XG4gKi9cblxuXG5leHBvcnRzLnNlcmlhbGl6ZUVycm9yID0gc2VyaWFsaXplRXJyb3I7XG5cbmNvbnN0IGRlc2VyaWFsaXplRXJyb3IgPSBvYmogPT4ge1xuICBjb25zdCBkZXNlcmlhbGl6ZWRFcnJvciA9IG5ldyBFcnJvcigpO1xuICBPYmplY3Qua2V5cyhvYmopLmZvckVhY2goa2V5ID0+IGRlc2VyaWFsaXplZEVycm9yW2tleV0gPSBvYmpba2V5XSk7XG4gIHJldHVybiBkZXNlcmlhbGl6ZWRFcnJvcjtcbn07XG5cbmV4cG9ydHMuZGVzZXJpYWxpemVFcnJvciA9IGRlc2VyaWFsaXplRXJyb3I7Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/penpal/lib/errorSerialization.js\n");
- /***/ }),
- /***/ "./node_modules/penpal/lib/generateId.js":
- /*!***********************************************!*\
- !*** ./node_modules/penpal/lib/generateId.js ***!
- \***********************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nlet id = 0;\n/**\n * @return {number} A unique ID (not universally unique)\n */\n\nvar _default = () => ++id;\n\nexports.default = _default;\nmodule.exports = exports.default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcGVucGFsL2xpYi9nZW5lcmF0ZUlkLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3BlbnBhbC9saWIvZ2VuZXJhdGVJZC5qcz83MzU4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgdmFsdWU6IHRydWVcbn0pO1xuZXhwb3J0cy5kZWZhdWx0ID0gdm9pZCAwO1xubGV0IGlkID0gMDtcbi8qKlxuICogQHJldHVybiB7bnVtYmVyfSBBIHVuaXF1ZSBJRCAobm90IHVuaXZlcnNhbGx5IHVuaXF1ZSlcbiAqL1xuXG52YXIgX2RlZmF1bHQgPSAoKSA9PiArK2lkO1xuXG5leHBvcnRzLmRlZmF1bHQgPSBfZGVmYXVsdDtcbm1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0OyJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/penpal/lib/generateId.js\n");
- /***/ }),
- /***/ "./node_modules/throttle-debounce/index.esm.js":
- /*!*****************************************************!*\
- !*** ./node_modules/throttle-debounce/index.esm.js ***!
- \*****************************************************/
- /*! exports provided: throttle, debounce */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"throttle\", function() { return throttle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"debounce\", function() { return debounce; });\n/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [noTrailing] Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the\n * throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time\n * after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds,\n * the internal counter is reset)\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the throttled-function is executed.\n * @param {Boolean} [debounceMode] If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end),\n * schedule `callback` to execute after `delay` ms.\n *\n * @return {Function} A new, throttled, function.\n */\nfunction throttle ( delay, noTrailing, callback, debounceMode ) {\n\n\t/*\n\t * After wrapper has stopped being called, this timeout ensures that\n\t * `callback` is executed at the proper times in `throttle` and `end`\n\t * debounce modes.\n\t */\n\tvar timeoutID;\n\n\t// Keep track of the last time `callback` was executed.\n\tvar lastExec = 0;\n\n\t// `noTrailing` defaults to falsy.\n\tif ( typeof noTrailing !== 'boolean' ) {\n\t\tdebounceMode = callback;\n\t\tcallback = noTrailing;\n\t\tnoTrailing = undefined;\n\t}\n\n\t/*\n\t * The `wrapper` function encapsulates all of the throttling / debouncing\n\t * functionality and when executed will limit the rate at which `callback`\n\t * is executed.\n\t */\n\tfunction wrapper () {\n\n\t\tvar self = this;\n\t\tvar elapsed = Number(new Date()) - lastExec;\n\t\tvar args = arguments;\n\n\t\t// Execute `callback` and update the `lastExec` timestamp.\n\t\tfunction exec () {\n\t\t\tlastExec = Number(new Date());\n\t\t\tcallback.apply(self, args);\n\t\t}\n\n\t\t/*\n\t\t * If `debounceMode` is true (at begin) this is used to clear the flag\n\t\t * to allow future `callback` executions.\n\t\t */\n\t\tfunction clear () {\n\t\t\ttimeoutID = undefined;\n\t\t}\n\n\t\tif ( debounceMode && !timeoutID ) {\n\t\t\t/*\n\t\t\t * Since `wrapper` is being called for the first time and\n\t\t\t * `debounceMode` is true (at begin), execute `callback`.\n\t\t\t */\n\t\t\texec();\n\t\t}\n\n\t\t// Clear any existing timeout.\n\t\tif ( timeoutID ) {\n\t\t\tclearTimeout(timeoutID);\n\t\t}\n\n\t\tif ( debounceMode === undefined && elapsed > delay ) {\n\t\t\t/*\n\t\t\t * In throttle mode, if `delay` time has been exceeded, execute\n\t\t\t * `callback`.\n\t\t\t */\n\t\t\texec();\n\n\t\t} else if ( noTrailing !== true ) {\n\t\t\t/*\n\t\t\t * In trailing throttle mode, since `delay` time has not been\n\t\t\t * exceeded, schedule `callback` to execute `delay` ms after most\n\t\t\t * recent execution.\n\t\t\t *\n\t\t\t * If `debounceMode` is true (at begin), schedule `clear` to execute\n\t\t\t * after `delay` ms.\n\t\t\t *\n\t\t\t * If `debounceMode` is false (at end), schedule `callback` to\n\t\t\t * execute after `delay` ms.\n\t\t\t */\n\t\t\ttimeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n\t\t}\n\n\t}\n\n\t// Return the wrapper function.\n\treturn wrapper;\n\n}\n\n/* eslint-disable no-undefined */\n\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [atBegin] Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n *\n * @return {Function} A new, debounced function.\n */\nfunction debounce ( delay, atBegin, callback ) {\n\treturn callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);\n}\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdGhyb3R0bGUtZGVib3VuY2UvaW5kZXguZXNtLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Rocm90dGxlLWRlYm91bmNlL2luZGV4LmVzbS5qcz9jYzA2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXVuZGVmaW5lZCxuby1wYXJhbS1yZWFzc2lnbixuby1zaGFkb3cgKi9cblxuLyoqXG4gKiBUaHJvdHRsZSBleGVjdXRpb24gb2YgYSBmdW5jdGlvbi4gRXNwZWNpYWxseSB1c2VmdWwgZm9yIHJhdGUgbGltaXRpbmdcbiAqIGV4ZWN1dGlvbiBvZiBoYW5kbGVycyBvbiBldmVudHMgbGlrZSByZXNpemUgYW5kIHNjcm9sbC5cbiAqXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAgIGRlbGF5ICAgICAgICAgIEEgemVyby1vci1ncmVhdGVyIGRlbGF5IGluIG1pbGxpc2Vjb25kcy4gRm9yIGV2ZW50IGNhbGxiYWNrcywgdmFsdWVzIGFyb3VuZCAxMDAgb3IgMjUwIChvciBldmVuIGhpZ2hlcikgYXJlIG1vc3QgdXNlZnVsLlxuICogQHBhcmFtICB7Qm9vbGVhbn0gICBbbm9UcmFpbGluZ10gICBPcHRpb25hbCwgZGVmYXVsdHMgdG8gZmFsc2UuIElmIG5vVHJhaWxpbmcgaXMgdHJ1ZSwgY2FsbGJhY2sgd2lsbCBvbmx5IGV4ZWN1dGUgZXZlcnkgYGRlbGF5YCBtaWxsaXNlY29uZHMgd2hpbGUgdGhlXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm90dGxlZC1mdW5jdGlvbiBpcyBiZWluZyBjYWxsZWQuIElmIG5vVHJhaWxpbmcgaXMgZmFsc2Ugb3IgdW5zcGVjaWZpZWQsIGNhbGxiYWNrIHdpbGwgYmUgZXhlY3V0ZWQgb25lIGZpbmFsIHRpbWVcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXIgdGhlIGxhc3QgdGhyb3R0bGVkLWZ1bmN0aW9uIGNhbGwuIChBZnRlciB0aGUgdGhyb3R0bGVkLWZ1bmN0aW9uIGhhcyBub3QgYmVlbiBjYWxsZWQgZm9yIGBkZWxheWAgbWlsbGlzZWNvbmRzLFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgaW50ZXJuYWwgY291bnRlciBpcyByZXNldClcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufSAgY2FsbGJhY2sgICAgICAgQSBmdW5jdGlvbiB0byBiZSBleGVjdXRlZCBhZnRlciBkZWxheSBtaWxsaXNlY29uZHMuIFRoZSBgdGhpc2AgY29udGV4dCBhbmQgYWxsIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRocm91Z2gsIGFzLWlzLFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBgY2FsbGJhY2tgIHdoZW4gdGhlIHRocm90dGxlZC1mdW5jdGlvbiBpcyBleGVjdXRlZC5cbiAqIEBwYXJhbSAge0Jvb2xlYW59ICAgW2RlYm91bmNlTW9kZV0gSWYgYGRlYm91bmNlTW9kZWAgaXMgdHJ1ZSAoYXQgYmVnaW4pLCBzY2hlZHVsZSBgY2xlYXJgIHRvIGV4ZWN1dGUgYWZ0ZXIgYGRlbGF5YCBtcy4gSWYgYGRlYm91bmNlTW9kZWAgaXMgZmFsc2UgKGF0IGVuZCksXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaGVkdWxlIGBjYWxsYmFja2AgdG8gZXhlY3V0ZSBhZnRlciBgZGVsYXlgIG1zLlxuICpcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSAgQSBuZXcsIHRocm90dGxlZCwgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIHRocm90dGxlICggZGVsYXksIG5vVHJhaWxpbmcsIGNhbGxiYWNrLCBkZWJvdW5jZU1vZGUgKSB7XG5cblx0Lypcblx0ICogQWZ0ZXIgd3JhcHBlciBoYXMgc3RvcHBlZCBiZWluZyBjYWxsZWQsIHRoaXMgdGltZW91dCBlbnN1cmVzIHRoYXRcblx0ICogYGNhbGxiYWNrYCBpcyBleGVjdXRlZCBhdCB0aGUgcHJvcGVyIHRpbWVzIGluIGB0aHJvdHRsZWAgYW5kIGBlbmRgXG5cdCAqIGRlYm91bmNlIG1vZGVzLlxuXHQgKi9cblx0dmFyIHRpbWVvdXRJRDtcblxuXHQvLyBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IHRpbWUgYGNhbGxiYWNrYCB3YXMgZXhlY3V0ZWQuXG5cdHZhciBsYXN0RXhlYyA9IDA7XG5cblx0Ly8gYG5vVHJhaWxpbmdgIGRlZmF1bHRzIHRvIGZhbHN5LlxuXHRpZiAoIHR5cGVvZiBub1RyYWlsaW5nICE9PSAnYm9vbGVhbicgKSB7XG5cdFx0ZGVib3VuY2VNb2RlID0gY2FsbGJhY2s7XG5cdFx0Y2FsbGJhY2sgPSBub1RyYWlsaW5nO1xuXHRcdG5vVHJhaWxpbmcgPSB1bmRlZmluZWQ7XG5cdH1cblxuXHQvKlxuXHQgKiBUaGUgYHdyYXBwZXJgIGZ1bmN0aW9uIGVuY2Fwc3VsYXRlcyBhbGwgb2YgdGhlIHRocm90dGxpbmcgLyBkZWJvdW5jaW5nXG5cdCAqIGZ1bmN0aW9uYWxpdHkgYW5kIHdoZW4gZXhlY3V0ZWQgd2lsbCBsaW1pdCB0aGUgcmF0ZSBhdCB3aGljaCBgY2FsbGJhY2tgXG5cdCAqIGlzIGV4ZWN1dGVkLlxuXHQgKi9cblx0ZnVuY3Rpb24gd3JhcHBlciAoKSB7XG5cblx0XHR2YXIgc2VsZiA9IHRoaXM7XG5cdFx0dmFyIGVsYXBzZWQgPSBOdW1iZXIobmV3IERhdGUoKSkgLSBsYXN0RXhlYztcblx0XHR2YXIgYXJncyA9IGFyZ3VtZW50cztcblxuXHRcdC8vIEV4ZWN1dGUgYGNhbGxiYWNrYCBhbmQgdXBkYXRlIHRoZSBgbGFzdEV4ZWNgIHRpbWVzdGFtcC5cblx0XHRmdW5jdGlvbiBleGVjICgpIHtcblx0XHRcdGxhc3RFeGVjID0gTnVtYmVyKG5ldyBEYXRlKCkpO1xuXHRcdFx0Y2FsbGJhY2suYXBwbHkoc2VsZiwgYXJncyk7XG5cdFx0fVxuXG5cdFx0Lypcblx0XHQgKiBJZiBgZGVib3VuY2VNb2RlYCBpcyB0cnVlIChhdCBiZWdpbikgdGhpcyBpcyB1c2VkIHRvIGNsZWFyIHRoZSBmbGFnXG5cdFx0ICogdG8gYWxsb3cgZnV0dXJlIGBjYWxsYmFja2AgZXhlY3V0aW9ucy5cblx0XHQgKi9cblx0XHRmdW5jdGlvbiBjbGVhciAoKSB7XG5cdFx0XHR0aW1lb3V0SUQgPSB1bmRlZmluZWQ7XG5cdFx0fVxuXG5cdFx0aWYgKCBkZWJvdW5jZU1vZGUgJiYgIXRpbWVvdXRJRCApIHtcblx0XHRcdC8qXG5cdFx0XHQgKiBTaW5jZSBgd3JhcHBlcmAgaXMgYmVpbmcgY2FsbGVkIGZvciB0aGUgZmlyc3QgdGltZSBhbmRcblx0XHRcdCAqIGBkZWJvdW5jZU1vZGVgIGlzIHRydWUgKGF0IGJlZ2luKSwgZXhlY3V0ZSBgY2FsbGJhY2tgLlxuXHRcdFx0ICovXG5cdFx0XHRleGVjKCk7XG5cdFx0fVxuXG5cdFx0Ly8gQ2xlYXIgYW55IGV4aXN0aW5nIHRpbWVvdXQuXG5cdFx0aWYgKCB0aW1lb3V0SUQgKSB7XG5cdFx0XHRjbGVhclRpbWVvdXQodGltZW91dElEKTtcblx0XHR9XG5cblx0XHRpZiAoIGRlYm91bmNlTW9kZSA9PT0gdW5kZWZpbmVkICYmIGVsYXBzZWQgPiBkZWxheSApIHtcblx0XHRcdC8qXG5cdFx0XHQgKiBJbiB0aHJvdHRsZSBtb2RlLCBpZiBgZGVsYXlgIHRpbWUgaGFzIGJlZW4gZXhjZWVkZWQsIGV4ZWN1dGVcblx0XHRcdCAqIGBjYWxsYmFja2AuXG5cdFx0XHQgKi9cblx0XHRcdGV4ZWMoKTtcblxuXHRcdH0gZWxzZSBpZiAoIG5vVHJhaWxpbmcgIT09IHRydWUgKSB7XG5cdFx0XHQvKlxuXHRcdFx0ICogSW4gdHJhaWxpbmcgdGhyb3R0bGUgbW9kZSwgc2luY2UgYGRlbGF5YCB0aW1lIGhhcyBub3QgYmVlblxuXHRcdFx0ICogZXhjZWVkZWQsIHNjaGVkdWxlIGBjYWxsYmFja2AgdG8gZXhlY3V0ZSBgZGVsYXlgIG1zIGFmdGVyIG1vc3Rcblx0XHRcdCAqIHJlY2VudCBleGVjdXRpb24uXG5cdFx0XHQgKlxuXHRcdFx0ICogSWYgYGRlYm91bmNlTW9kZWAgaXMgdHJ1ZSAoYXQgYmVnaW4pLCBzY2hlZHVsZSBgY2xlYXJgIHRvIGV4ZWN1dGVcblx0XHRcdCAqIGFmdGVyIGBkZWxheWAgbXMuXG5cdFx0XHQgKlxuXHRcdFx0ICogSWYgYGRlYm91bmNlTW9kZWAgaXMgZmFsc2UgKGF0IGVuZCksIHNjaGVkdWxlIGBjYWxsYmFja2AgdG9cblx0XHRcdCAqIGV4ZWN1dGUgYWZ0ZXIgYGRlbGF5YCBtcy5cblx0XHRcdCAqL1xuXHRcdFx0dGltZW91dElEID0gc2V0VGltZW91dChkZWJvdW5jZU1vZGUgPyBjbGVhciA6IGV4ZWMsIGRlYm91bmNlTW9kZSA9PT0gdW5kZWZpbmVkID8gZGVsYXkgLSBlbGFwc2VkIDogZGVsYXkpO1xuXHRcdH1cblxuXHR9XG5cblx0Ly8gUmV0dXJuIHRoZSB3cmFwcGVyIGZ1bmN0aW9uLlxuXHRyZXR1cm4gd3JhcHBlcjtcblxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlZmluZWQgKi9cblxuLyoqXG4gKiBEZWJvdW5jZSBleGVjdXRpb24gb2YgYSBmdW5jdGlvbi4gRGVib3VuY2luZywgdW5saWtlIHRocm90dGxpbmcsXG4gKiBndWFyYW50ZWVzIHRoYXQgYSBmdW5jdGlvbiBpcyBvbmx5IGV4ZWN1dGVkIGEgc2luZ2xlIHRpbWUsIGVpdGhlciBhdCB0aGVcbiAqIHZlcnkgYmVnaW5uaW5nIG9mIGEgc2VyaWVzIG9mIGNhbGxzLCBvciBhdCB0aGUgdmVyeSBlbmQuXG4gKlxuICogQHBhcmFtICB7TnVtYmVyfSAgIGRlbGF5ICAgICAgICAgQSB6ZXJvLW9yLWdyZWF0ZXIgZGVsYXkgaW4gbWlsbGlzZWNvbmRzLiBGb3IgZXZlbnQgY2FsbGJhY2tzLCB2YWx1ZXMgYXJvdW5kIDEwMCBvciAyNTAgKG9yIGV2ZW4gaGlnaGVyKSBhcmUgbW9zdCB1c2VmdWwuXG4gKiBAcGFyYW0gIHtCb29sZWFufSAgW2F0QmVnaW5dICAgICBPcHRpb25hbCwgZGVmYXVsdHMgdG8gZmFsc2UuIElmIGF0QmVnaW4gaXMgZmFsc2Ugb3IgdW5zcGVjaWZpZWQsIGNhbGxiYWNrIHdpbGwgb25seSBiZSBleGVjdXRlZCBgZGVsYXlgIG1pbGxpc2Vjb25kc1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXIgdGhlIGxhc3QgZGVib3VuY2VkLWZ1bmN0aW9uIGNhbGwuIElmIGF0QmVnaW4gaXMgdHJ1ZSwgY2FsbGJhY2sgd2lsbCBiZSBleGVjdXRlZCBvbmx5IGF0IHRoZSBmaXJzdCBkZWJvdW5jZWQtZnVuY3Rpb24gY2FsbC5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChBZnRlciB0aGUgdGhyb3R0bGVkLWZ1bmN0aW9uIGhhcyBub3QgYmVlbiBjYWxsZWQgZm9yIGBkZWxheWAgbWlsbGlzZWNvbmRzLCB0aGUgaW50ZXJuYWwgY291bnRlciBpcyByZXNldCkuXG4gKiBAcGFyYW0gIHtGdW5jdGlvbn0gY2FsbGJhY2sgICAgICBBIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIGFmdGVyIGRlbGF5IG1pbGxpc2Vjb25kcy4gVGhlIGB0aGlzYCBjb250ZXh0IGFuZCBhbGwgYXJndW1lbnRzIGFyZSBwYXNzZWQgdGhyb3VnaCwgYXMtaXMsXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBgY2FsbGJhY2tgIHdoZW4gdGhlIGRlYm91bmNlZC1mdW5jdGlvbiBpcyBleGVjdXRlZC5cbiAqXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBuZXcsIGRlYm91bmNlZCBmdW5jdGlvbi5cbiAqL1xuZnVuY3Rpb24gZGVib3VuY2UgKCBkZWxheSwgYXRCZWdpbiwgY2FsbGJhY2sgKSB7XG5cdHJldHVybiBjYWxsYmFjayA9PT0gdW5kZWZpbmVkID8gdGhyb3R0bGUoZGVsYXksIGF0QmVnaW4sIGZhbHNlKSA6IHRocm90dGxlKGRlbGF5LCBjYWxsYmFjaywgYXRCZWdpbiAhPT0gZmFsc2UpO1xufVxuXG5leHBvcnQgeyB0aHJvdHRsZSwgZGVib3VuY2UgfTtcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTsiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/throttle-debounce/index.esm.js\n");
- /***/ }),
- /***/ "./src/client/js/hackmd-agent.js":
- /*!***************************************!*\
- !*** ./src/client/js/hackmd-agent.js ***!
- \***************************************/
- /*! no exports provided */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var penpal_lib_connectToParent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! penpal/lib/connectToParent */ \"./node_modules/penpal/lib/connectToParent.js\");\n/* harmony import */ var penpal_lib_connectToParent__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(penpal_lib_connectToParent__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var throttle_debounce__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! throttle-debounce */ \"./node_modules/throttle-debounce/index.esm.js\");\n/**\n * GROWI agent for HackMD\n *\n * This file will be transpiled as a single JS\n * and should be load from HackMD head via 'routes/hackmd.js' route\n *\n * USAGE:\n * <script src=\"${hostname of GROWI}/_hackmd/load-agent\"></script>\n *\n * @author Yuki Takei <yuki@weseek.co.jp>\n */\n\n\nconst DEBUG_PENPAL = false;\n/* eslint-disable no-console */\n\nconst allowedOrigin = '{{origin}}'; // will be replaced by swig\n\n/**\n * return the value of CodeMirror\n */\n\nfunction getValueOfCodemirror() {\n // get CodeMirror instance\n const editor = window.editor;\n return editor.doc.getValue();\n}\n/**\n * set the specified document to CodeMirror\n * @param {string} value\n */\n\n\nfunction setValueToCodemirror(value) {\n // get CodeMirror instance\n const editor = window.editor;\n editor.doc.setValue(value);\n}\n/**\n * set the specified document to CodeMirror on window loaded\n * @param {string} value\n */\n\n\nfunction setValueToCodemirrorOnInit(newValue) {\n if (window.cmClient != null) {\n setValueToCodemirror(newValue);\n return;\n }\n\n const intervalId = setInterval(() => {\n if (window.cmClient != null) {\n clearInterval(intervalId);\n setValueToCodemirror(newValue);\n }\n }, 250);\n}\n/**\n * postMessage to GROWI to notify body changes\n * @param {string} body\n */\n\n\nfunction postParentToNotifyBodyChanges(body) {\n window.growi.notifyBodyChanges(body);\n} // generate debounced function\n\n\nconst debouncedPostParentToNotifyBodyChanges = Object(throttle_debounce__WEBPACK_IMPORTED_MODULE_1__[\"debounce\"])(800, postParentToNotifyBodyChanges);\n/**\n * postMessage to GROWI to save with shortcut\n * @param {string} document\n */\n\nfunction postParentToSaveWithShortcut(document) {\n window.growi.saveWithShortcut(document);\n}\n\nfunction addEventListenersToCodemirror() {\n // get CodeMirror instance\n const codemirror = window.CodeMirror; // get CodeMirror editor instance\n\n const editor = window.editor; // e.g. 404 not found\n\n if (codemirror == null || editor == null) {\n return;\n } // == change event\n\n\n editor.on('change', (cm, change) => {\n if (change.origin === 'ignoreHistory') {\n // do nothing because this operation triggered by other user\n return;\n }\n\n debouncedPostParentToNotifyBodyChanges(cm.doc.getValue());\n }); // == save event\n // Reset save commands and Cmd-S/Ctrl-S shortcuts that initialized by HackMD\n\n codemirror.commands.save = function (cm) {\n postParentToSaveWithShortcut(cm.doc.getValue());\n };\n\n delete editor.options.extraKeys['Cmd-S'];\n delete editor.options.extraKeys['Ctrl-S'];\n}\n\nfunction connectToParentWithPenpal() {\n const connection = penpal_lib_connectToParent__WEBPACK_IMPORTED_MODULE_0___default()({\n parentOrigin: allowedOrigin,\n // Methods child is exposing to parent\n methods: {\n getValue() {\n return getValueOfCodemirror();\n },\n\n setValue(newValue) {\n setValueToCodemirror(newValue);\n },\n\n setValueOnInit(newValue) {\n setValueToCodemirrorOnInit(newValue);\n }\n\n },\n debug: DEBUG_PENPAL\n });\n connection.promise.then(parent => {\n window.growi = parent;\n }).catch(err => {\n console.log(err);\n });\n}\n/**\n * main\n */\n\n\n(function () {\n // check HackMD is in iframe\n if (window === window.parent) {\n console.log('[GROWI] Loading agent for HackMD is not processed because currently not in iframe');\n return;\n }\n\n console.log('[HackMD] Loading GROWI agent for HackMD...');\n window.addEventListener('load', event => {\n addEventListenersToCodemirror();\n });\n connectToParentWithPenpal();\n console.log('[HackMD] GROWI agent for HackMD has successfully loaded.');\n})();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvY2xpZW50L2pzL2hhY2ttZC1hZ2VudC5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3NyYy9jbGllbnQvanMvaGFja21kLWFnZW50LmpzPzBkYmMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHUk9XSSBhZ2VudCBmb3IgSGFja01EXG4gKlxuICogVGhpcyBmaWxlIHdpbGwgYmUgdHJhbnNwaWxlZCBhcyBhIHNpbmdsZSBKU1xuICogIGFuZCBzaG91bGQgYmUgbG9hZCBmcm9tIEhhY2tNRCBoZWFkIHZpYSAncm91dGVzL2hhY2ttZC5qcycgcm91dGVcbiAqXG4gKiBVU0FHRTpcbiAqICA8c2NyaXB0IHNyYz1cIiR7aG9zdG5hbWUgb2YgR1JPV0l9L19oYWNrbWQvbG9hZC1hZ2VudFwiPjwvc2NyaXB0PlxuICpcbiAqIEBhdXRob3IgWXVraSBUYWtlaSA8eXVraUB3ZXNlZWsuY28uanA+XG4gKi9cbmltcG9ydCBjb25uZWN0VG9QYXJlbnQgZnJvbSAncGVucGFsL2xpYi9jb25uZWN0VG9QYXJlbnQnO1xuaW1wb3J0IHsgZGVib3VuY2UgfSBmcm9tICd0aHJvdHRsZS1kZWJvdW5jZSc7XG5cbmNvbnN0IERFQlVHX1BFTlBBTCA9IGZhbHNlO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICAqL1xuXG5jb25zdCBhbGxvd2VkT3JpZ2luID0gJ3t7b3JpZ2lufX0nOyAvLyB3aWxsIGJlIHJlcGxhY2VkIGJ5IHN3aWdcblxuXG4vKipcbiAqIHJldHVybiB0aGUgdmFsdWUgb2YgQ29kZU1pcnJvclxuICovXG5mdW5jdGlvbiBnZXRWYWx1ZU9mQ29kZW1pcnJvcigpIHtcbiAgLy8gZ2V0IENvZGVNaXJyb3IgaW5zdGFuY2VcbiAgY29uc3QgZWRpdG9yID0gd2luZG93LmVkaXRvcjtcbiAgcmV0dXJuIGVkaXRvci5kb2MuZ2V0VmFsdWUoKTtcbn1cblxuLyoqXG4gKiBzZXQgdGhlIHNwZWNpZmllZCBkb2N1bWVudCB0byBDb2RlTWlycm9yXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqL1xuZnVuY3Rpb24gc2V0VmFsdWVUb0NvZGVtaXJyb3IodmFsdWUpIHtcbiAgLy8gZ2V0IENvZGVNaXJyb3IgaW5zdGFuY2VcbiAgY29uc3QgZWRpdG9yID0gd2luZG93LmVkaXRvcjtcbiAgZWRpdG9yLmRvYy5zZXRWYWx1ZSh2YWx1ZSk7XG59XG5cbi8qKlxuICogc2V0IHRoZSBzcGVjaWZpZWQgZG9jdW1lbnQgdG8gQ29kZU1pcnJvciBvbiB3aW5kb3cgbG9hZGVkXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqL1xuZnVuY3Rpb24gc2V0VmFsdWVUb0NvZGVtaXJyb3JPbkluaXQobmV3VmFsdWUpIHtcbiAgaWYgKHdpbmRvdy5jbUNsaWVudCAhPSBudWxsKSB7XG4gICAgc2V0VmFsdWVUb0NvZGVtaXJyb3IobmV3VmFsdWUpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGludGVydmFsSWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgaWYgKHdpbmRvdy5jbUNsaWVudCAhPSBudWxsKSB7XG4gICAgICBjbGVhckludGVydmFsKGludGVydmFsSWQpO1xuICAgICAgc2V0VmFsdWVUb0NvZGVtaXJyb3IobmV3VmFsdWUpO1xuICAgIH1cbiAgfSwgMjUwKTtcblxufVxuXG4vKipcbiAqIHBvc3RNZXNzYWdlIHRvIEdST1dJIHRvIG5vdGlmeSBib2R5IGNoYW5nZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBib2R5XG4gKi9cbmZ1bmN0aW9uIHBvc3RQYXJlbnRUb05vdGlmeUJvZHlDaGFuZ2VzKGJvZHkpIHtcbiAgd2luZG93Lmdyb3dpLm5vdGlmeUJvZHlDaGFuZ2VzKGJvZHkpO1xufVxuLy8gZ2VuZXJhdGUgZGVib3VuY2VkIGZ1bmN0aW9uXG5jb25zdCBkZWJvdW5jZWRQb3N0UGFyZW50VG9Ob3RpZnlCb2R5Q2hhbmdlcyA9IGRlYm91bmNlKDgwMCwgcG9zdFBhcmVudFRvTm90aWZ5Qm9keUNoYW5nZXMpO1xuXG4vKipcbiAqIHBvc3RNZXNzYWdlIHRvIEdST1dJIHRvIHNhdmUgd2l0aCBzaG9ydGN1dFxuICogQHBhcmFtIHtzdHJpbmd9IGRvY3VtZW50XG4gKi9cbmZ1bmN0aW9uIHBvc3RQYXJlbnRUb1NhdmVXaXRoU2hvcnRjdXQoZG9jdW1lbnQpIHtcbiAgd2luZG93Lmdyb3dpLnNhdmVXaXRoU2hvcnRjdXQoZG9jdW1lbnQpO1xufVxuXG5mdW5jdGlvbiBhZGRFdmVudExpc3RlbmVyc1RvQ29kZW1pcnJvcigpIHtcbiAgLy8gZ2V0IENvZGVNaXJyb3IgaW5zdGFuY2VcbiAgY29uc3QgY29kZW1pcnJvciA9IHdpbmRvdy5Db2RlTWlycm9yO1xuICAvLyBnZXQgQ29kZU1pcnJvciBlZGl0b3IgaW5zdGFuY2VcbiAgY29uc3QgZWRpdG9yID0gd2luZG93LmVkaXRvcjtcblxuICAvLyBlLmcuIDQwNCBub3QgZm91bmRcbiAgaWYgKGNvZGVtaXJyb3IgPT0gbnVsbCB8fCBlZGl0b3IgPT0gbnVsbCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vID09IGNoYW5nZSBldmVudFxuICBlZGl0b3Iub24oJ2NoYW5nZScsIChjbSwgY2hhbmdlKSA9PiB7XG4gICAgaWYgKGNoYW5nZS5vcmlnaW4gPT09ICdpZ25vcmVIaXN0b3J5Jykge1xuICAgICAgLy8gZG8gbm90aGluZyBiZWNhdXNlIHRoaXMgb3BlcmF0aW9uIHRyaWdnZXJlZCBieSBvdGhlciB1c2VyXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGRlYm91bmNlZFBvc3RQYXJlbnRUb05vdGlmeUJvZHlDaGFuZ2VzKGNtLmRvYy5nZXRWYWx1ZSgpKTtcbiAgfSk7XG5cbiAgLy8gPT0gc2F2ZSBldmVudFxuICAvLyBSZXNldCBzYXZlIGNvbW1hbmRzIGFuZCBDbWQtUy9DdHJsLVMgc2hvcnRjdXRzIHRoYXQgaW5pdGlhbGl6ZWQgYnkgSGFja01EXG4gIGNvZGVtaXJyb3IuY29tbWFuZHMuc2F2ZSA9IGZ1bmN0aW9uKGNtKSB7XG4gICAgcG9zdFBhcmVudFRvU2F2ZVdpdGhTaG9ydGN1dChjbS5kb2MuZ2V0VmFsdWUoKSk7XG4gIH07XG4gIGRlbGV0ZSBlZGl0b3Iub3B0aW9ucy5leHRyYUtleXNbJ0NtZC1TJ107XG4gIGRlbGV0ZSBlZGl0b3Iub3B0aW9ucy5leHRyYUtleXNbJ0N0cmwtUyddO1xufVxuXG5mdW5jdGlvbiBjb25uZWN0VG9QYXJlbnRXaXRoUGVucGFsKCkge1xuICBjb25zdCBjb25uZWN0aW9uID0gY29ubmVjdFRvUGFyZW50KHtcbiAgICBwYXJlbnRPcmlnaW46IGFsbG93ZWRPcmlnaW4sXG4gICAgLy8gTWV0aG9kcyBjaGlsZCBpcyBleHBvc2luZyB0byBwYXJlbnRcbiAgICBtZXRob2RzOiB7XG4gICAgICBnZXRWYWx1ZSgpIHtcbiAgICAgICAgcmV0dXJuIGdldFZhbHVlT2ZDb2RlbWlycm9yKCk7XG4gICAgICB9LFxuICAgICAgc2V0VmFsdWUobmV3VmFsdWUpIHtcbiAgICAgICAgc2V0VmFsdWVUb0NvZGVtaXJyb3IobmV3VmFsdWUpO1xuICAgICAgfSxcbiAgICAgIHNldFZhbHVlT25Jbml0KG5ld1ZhbHVlKSB7XG4gICAgICAgIHNldFZhbHVlVG9Db2RlbWlycm9yT25Jbml0KG5ld1ZhbHVlKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZWJ1ZzogREVCVUdfUEVOUEFMLFxuICB9KTtcbiAgY29ubmVjdGlvbi5wcm9taXNlXG4gICAgLnRoZW4oKHBhcmVudCkgPT4ge1xuICAgICAgd2luZG93Lmdyb3dpID0gcGFyZW50O1xuICAgIH0pXG4gICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKGVycik7XG4gICAgfSk7XG59XG5cbi8qKlxuICogbWFpblxuICovXG4oZnVuY3Rpb24oKSB7XG4gIC8vIGNoZWNrIEhhY2tNRCBpcyBpbiBpZnJhbWVcbiAgaWYgKHdpbmRvdyA9PT0gd2luZG93LnBhcmVudCkge1xuICAgIGNvbnNvbGUubG9nKCdbR1JPV0ldIExvYWRpbmcgYWdlbnQgZm9yIEhhY2tNRCBpcyBub3QgcHJvY2Vzc2VkIGJlY2F1c2UgY3VycmVudGx5IG5vdCBpbiBpZnJhbWUnKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zb2xlLmxvZygnW0hhY2tNRF0gTG9hZGluZyBHUk9XSSBhZ2VudCBmb3IgSGFja01ELi4uJyk7XG5cbiAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoZXZlbnQpID0+IHtcbiAgICBhZGRFdmVudExpc3RlbmVyc1RvQ29kZW1pcnJvcigpO1xuICB9KTtcblxuICBjb25uZWN0VG9QYXJlbnRXaXRoUGVucGFsKCk7XG5cbiAgY29uc29sZS5sb2coJ1tIYWNrTURdIEdST1dJIGFnZW50IGZvciBIYWNrTUQgaGFzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuJyk7XG59KCkpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7OztBQVdBO0FBQ0E7QUFFQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7Ozs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTs7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7Ozs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUdBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQVZBO0FBV0E7QUFkQTtBQWdCQTtBQUVBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTs7Ozs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/client/js/hackmd-agent.js\n");
- /***/ })
- /******/ });
|